![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python基础
文章平均质量分 70
S1406793
这个作者很懒,什么都没留下…
展开
-
python、pycharm安装以及python库的安装
安装python包时遇到的问题原创 2022-10-23 19:50:14 · 269 阅读 · 0 评论 -
02---结构型模式:适配器模式
一、适配器模式组合:在类B里放入类A的对象 ,就可以在类B里使用类A的方法。适配器模式内容:原本两个类不能在一起工作,加了适配器之后,可以在一起工作。类适配器当有多个产品 不适配时,另一种方法: 通过组合来完成 对象适配器将一个接口(cost)转化成另外一个接口(pay),使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。两种实现方法:类适配器:使用多继承——继承接口和待适配类 对象适配器:使用组合...原创 2022-02-24 09:11:11 · 82 阅读 · 0 评论 -
01---创建型模式:设计模式、工厂模式、建造者模式、单例模式
一、设计模式面向对象的三大特性:封装,继承,多态。接口:若干抽象方法的集合。作用:限制实现接口的类必须按照接口给定的调用方式实现这些方法;对高层模块隐藏了类的内部实现,直接看接口代码即可明白,不需要看类的具体实现。# 接口的实现方式(常用的一种)from abc import ABCMeta,abstractmethodclass Payment(metaclass=ABCMeta): #抽象类 @abstractmethod def pay(self,money原创 2022-02-21 12:42:40 · 231 阅读 · 0 评论 -
算法进阶03---欧几里得算法
最大公约数原创 2022-02-19 23:44:28 · 263 阅读 · 0 评论 -
算法进阶02---动态规划:
举例:递归方法没有非递归方法快,因为递归中,子问题重复计算导致执行效率低求 f(6)时需要求 f(5),f(4),f(3) ; 等到求 f(7)时,还需要再一次求 f(6), f(5),f(4),f(3)。# 斐波那契数列# 递归def fibnacci(n): if n==1 or n==2: return 1 else: return fibnacci(n-1)+fibnacci(n-2)print(fibnacci(7))#原创 2022-02-19 13:57:52 · 157 阅读 · 0 评论 -
算法进阶01---贪心算法
问题一:# 找零问题问题二:0-1背包:商品1 和商品2 :价值160 商品2 和商品3: 价值 220因此0-1背包不能用贪心算法解释。原创 2022-02-17 22:44:29 · 206 阅读 · 0 评论 -
算法篇08---二叉搜索树的遍历、插入、查询、删除
一、树1. 概念2. 实例二、 二叉树的链式存储将二叉树的节点定义为一个对象,节点之间通过类似 链表 的链接方式来连接。class BiTreeNode(object): def __init__(self,data): self.data = data self.lchild = None # 左孩子 self.rchild = None # 右孩子a=BiTreeNode('A')b=BiTreeNode('B'原创 2022-01-27 15:01:45 · 511 阅读 · 0 评论 -
算法篇07---链表、哈希表
一、链表二、哈希表python的字典、集合都是它实现的。原创 2022-01-19 17:55:02 · 1276 阅读 · 0 评论 -
算法篇06---python队列的内置模块及其应用、栈和队列的应用
学习目标:DAY4 python函数基础(上)学习内容:1、函数的定义,调用,返回值,如何设置参数学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇3、 学习的 vlog 视频 1 个...原创 2022-01-18 17:19:34 · 922 阅读 · 0 评论 -
02 作业
猜年龄小游戏1.允许用户最多尝试三次 ----for 2.每尝试3此后,如果还没才对,就问用户是否还想继续玩? 如果回答Y或者y,就继续让其猜三次, 以此往复,入宫回答N或n,就退出程序 ...原创 2022-01-18 10:11:11 · 2457 阅读 · 0 评论 -
题目篇03
一、文件操作文件操作是很常见的功能,python自带文件的基本操作方法,但是借助os等模块更加方便快捷。通过使用文件的打开关闭、读写等,完成文件备份脚本(重点) 通过文件定位的相关方法,完成精确控制文件读写3.使用os模块操作文件,提高效率(重点)4.使用time、datetime模块完成时间相关操作(重点)5.通过模块的制作、发布、安装,进一步明白模块的意义(一)文件的读写...原创 2022-01-17 19:44:55 · 301 阅读 · 0 评论 -
算法篇05---数据结构:列表(数组)、栈、队列
一、列表/数组32位机器上,一个整数占4字节(32/8),元组的存储方式如下:数组和列表有两点不同(其他语言称为数组):1. 数组元素类型要相同 2.数组长度固定,python中可以appendpython列表如何实现:python列表中存的类型可以不一样,因此,列表中存的不是值,是地址。一个地址占4个字节,因此列表中每个元素内存大小一样。时间复杂度:. append() O(1) . pop() O(n) . insert() O(n) ...原创 2022-01-17 18:19:54 · 327 阅读 · 0 评论 -
算法篇04---希尔排序、计数排序、桶排序、基数排序
一、希尔排序(Shell Sort)希尔排序是一种分组插入排序算法。d1=n//2=4:将列表分成四组,每行为一组,在每一行内部做插入排序。但整体做一次插入排序,gap=d,第一个蓝色框和第二个蓝色框内的元素进行比较,i 和i+gap 比较。>>>>做完插入排序之后,还原:d=d1//2=2: 重新分组,每一组内部进行插入排序,再还原列表>>>>d3=d2//2=1:等于1 时,对列表进行最后一次插入...原创 2022-01-15 17:00:48 · 380 阅读 · 0 评论 -
算法篇03---归并、归并排序、列表的分解
目录一、归并和归并排序1.归并(merge)2.归并排序(merge)一、归并和归并排序python中的排序算法也是基于归并排序。1.归并(merge)假设现在的列表分为两段有序,如何将其合并为一个有序列表?>>>>将这个过程叫做一次 归并(merge)。 一次归并就可以使得两边有序的列表变成一整个有序的列表。# 归并函数mergedef merge(li,low,mid,high): i=low ...原创 2022-01-14 10:39:16 · 352 阅读 · 0 评论 -
算法篇02---堆排序及其应用
1. 堆排序树1. 树 是一种数据结构,比如目录结构2. 数 是一种可以递归定义的数据结构3. 树 是由n个节点组成的集合:如果n=0,那这是一棵空树 如果n>0,那存在1个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一棵树。根节点:A就是根节点叶子节点: 不能分叉的节点(叶子)树的深度(高度):4节点E的度:2树的度: 树中节点最多的度,6孩子节点/父节点: E 为 I 的父节点,I 为 E 的节点子树: 树的某个分支二叉树原创 2022-01-13 17:31:47 · 729 阅读 · 0 评论 -
题目篇02
4. 判断素数判断101到200之间有几个素数,并且将这些素数输出。def isPrime(li): for item in li: i=2 while i*i <= item: if item%i == 0: li.remove(item) #说明不是素数 break else:原创 2022-01-11 15:19:56 · 214 阅读 · 0 评论 -
算法篇01---汉诺塔问题、查找、排序问题
一、递归---汉诺塔问题二、查找查找:在一些数据元素中,通过一定方法找出与给定关键字相同的数据元素的过程列表查找(线性表查找):从列表中查找指定元素>>> 输入:列表、待查找元素>>>输出:元素下标(未找到元素时一般返回None或-1)内置列表查找函数:index( ),这是顺序查找,因为二分查找必须是有序列表(1) 顺序查找(线性查找)从列表第一个元素开始,顺序进行搜索,知道找到元素或搜索到列表最后一个元素为止。时间复杂度:O(n)原创 2022-01-10 20:23:03 · 822 阅读 · 0 评论 -
题目篇01
1. 两数之和给定一个 整数数组 nums和一个 整数目标值 target,请你在该数组中找出和为目标值 target的那两个整数,并返回它们的数组下标。输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。输入:nums = [3,2,4], target = 6 输出:[1,2]def twoSum(self, nums: List[int]...原创 2022-01-08 19:19:30 · 309 阅读 · 0 评论 -
14. Linux权限和远程管理------课后作业
课后问答题:1、Linux文件权限有那几种,利用什么命令查看拷贝回来的文件有什么权限?三种:读、写、执行。 ll 或者 ls -l 2、Linux中查看系统的ip地址命令?如何检查本地网卡是否正常?ifconfig命令 ping 命令: 3、查看Linux系统中所有进程的状态的命令是什么?ps -ajx 或 ps -aux4、发现Linux系统中有个异常的后台进程想要将其结束使用什么命令?...原创 2022-01-08 18:21:20 · 417 阅读 · 0 评论 -
15. Linux权限与远程管理
目标:1.通过创建用户、用户组,来分别赋予不同的权限(重点)2.使用远程管理相关命令,进行远程操作Linux系统(重点、难点)3.使用系统信息管理命令,快速了解当前系统运行情况(重点)一、用户、用户组和权限管理权限:读w、写r、执行x(1)用户管理:创建用户: useradd [用户名]-d 指定新账户的主目录 -g 指定用户的所属组 -G 指定用户的附加组 -s 指定用户登录shell -m自动创建家目录useradd -m Test1 #...原创 2022-01-06 16:37:08 · 975 阅读 · 0 评论 -
复习~补充知识
1. 默认情况下,print( )函数会自动在输出内容后面加一个 换行。因此,如果结尾变成print( ' ',end=" ") 就不会出现换行。(案例:九九乘法表)# 案例:九九乘法表2. 转义符: \t \n \"\t 在控制台输出一个 横向制表符,协助在输出文本时 垂直方向 保持对齐\n在控制台输出 换行符\" 在输出字符串时,为了避免混淆,用于输出 双引号print('1\t2\t\3')print('10\t20\t39')# 输出:1 2 310 ...原创 2022-01-05 14:33:57 · 2669 阅读 · 1 评论 -
13. 正则表达式---课后作业
1.长度为8-10的用户密码(以字母开头,包含数字、字母、下划线)import rereg=re.compile('^[a-zA-Z]\w{7,9}')userSecret=input('请输入用户名密码:')res = reg.match(userSecret)if res: print('用户名密码是:%s'%res.group())else: print('用户密码格式错误!')2.验证用户名,长度为6-18位的英文字母组成import rereg=re.c原创 2021-12-16 14:57:13 · 1234 阅读 · 0 评论 -
13. python正则表达式
正则表达式(Regular Expression),又称为规则表达式。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。re模块使python语言拥有全部的正则化功能,同时mre模块是用C语言写的,其匹配速度非常快。其中compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。re.match(pattern,string,fl原创 2021-12-10 14:22:12 · 1863 阅读 · 0 评论 -
12. python垃圾回收机制
我们使用的pip版本为21.3.1,但当前可用版本是21.2.3,所以我们要在命令提示窗口中输入"python -m pip install --upgrade pip"命令让它升级到最新版本。原创 2021-12-06 21:58:51 · 821 阅读 · 0 评论 -
11. 文件操作与模块
一、文件操作文件操作是很常见的功能,python自带文件的基本操作方法,但是借助os等模块更加方便快捷。1.通过使用文件的打开关闭、读写等,完成文件备份脚本(重点)2.通过文件定位的相关方法,完成精确控制文件读写3.使用os模块操作文件,提高效率(重点)4.使用time、datetime模块完成时间相关操作(重点)5.通过模块的制作、发布、安装,进一步明白模块的意义(一)文件的读写...原创 2021-12-03 17:02:26 · 1095 阅读 · 0 评论 -
python安装包时出现的一些问题及解决方法
使用一些国内的pip源,如下:阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban) http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/解决办法:原创 2021-11-21 17:24:52 · 7604 阅读 · 0 评论 -
9. 面向对象基础(下)
我们已经学习过面向对象编程的类、对象之间的关系等等, 接下来我们要深入学习如何具体控制属性、方法来满足需要,完成功能。私有化属性 私有化方法(封装,加一个锁) property属性 __new__方法 单例模式 错误与异常处理 python动态添加属性和方法(对象.属性=XX) __slots__属性(限制属性)目标:通过声明私有化属性、方法,保护和控制数据(重点) 通过property属性的使用,即控制好数据又方便访问(重点、难点) 明确__new__方法的作用和方法(原创 2021-11-16 21:54:47 · 468 阅读 · 0 评论 -
8. 面向对象基础(中)
面向对象三大特征:继承、多态、封装重点:类的继承、父类的调用、静态方法难点:继承与重写、静态方法析构方法当一个对象被删除或者销毁时,python解释器会默认调用一个方法,这个方法时__del__()方法,也成为析构方法。 程序执行结束自动调用__del__方法 手动删除对象时也会自动调用__del__方法: 【del 对象】---可以手动将这个对象清空,后面将不再执行这个对象class Animal: def __init__(self,name): sel.原创 2021-11-11 14:49:21 · 607 阅读 · 0 评论 -
DAY7:课后问题、案例:决战紫禁之巅
问答题1. 什么是类,什么是对象? 类是具有一组相同或者相似属性和行为的一系列对象,是一个模板,包含多个函,函数里实现一些功能。 ...原创 2021-11-08 15:32:54 · 807 阅读 · 0 评论 -
7. 面向对象基础
面向过程、面向对象面向过程 根据业务逻辑从上到下写代码 就是我们一开始学习的,按照解决问题的步骤去写代码【根据业务逻辑】-------在思考问题的时候,首先分析“怎么按照步骤去实现”,然后将问题解决拆解成若干个步骤,并将这些步骤对应的方法一步一步实现,最终完成功能 怎么做【洗车:洗车的一系列步骤】 不足:没有更多的时间精力去考虑其他的事,面向过程不适合做大项目 面向对象 oop(object oriented programing): 是.原创 2021-11-06 22:40:25 · 159 阅读 · 0 评论 -
5.python-----函数基础(下)
一、函数的基本类型# 无参数 无返回值:一般用于提示信息打印def pyprint(): print('-'*20)# 无参数 有返回值:多用于数据采集中,比如获取系统信息def pycpu(): return info# 有参数 无返回值:多用在设置某些不需要返回值的参数设置def set(a): pass# 有参数 有返回值:一般是计算型的,需要参数,最终也要返回结果def caal(a,b): return c=a+b二、局部变量和全局变量根原创 2021-11-03 19:22:29 · 177 阅读 · 0 评论 -
4.python函数基础(上)
一.函数基础1.什么是函数一系列python语句的组合,可以在程序中运行一次或者多次,一般是完成具体的独立的功能2.为什么要使用函数代码的复用最大化,以及最小化冗余代码,整体代码结构清晰,问题局部化为了提高编写的效率以及代码的重用,把具有独立功能的代码块组织为一个小模块3.函数定义及调用def 函数名(参数列表) #可以是0个,也可以多个参数 函数体 #一系列python语句,表示独立的功能函数名(参数) #即可调用原创 2021-11-01 22:11:27 · 311 阅读 · 0 评论 -
3.字符串、列表、元组、字典操作
1. 序列:一组按照顺序排序的值2. 序列类型:字符串、元组、列表,字典不是序列3. 优点:可以支持索引和切片的操作4. 特征:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端5. 切片:【高级特征】 可以根据下标来获取序列对象的任意{部分}数据6. 语法结构:数据名[start:end:步长step]一、字符串------不可变数据类型# 字符串输出---可部分输出,也可以遍历(切片)Test='python'print(type(Test))print('.原创 2021-11-03 20:30:04 · 394 阅读 · 0 评论 -
2.python------选择流程和循环流程
一、选择流程#猜拳小游戏# 0:石头 1:剪刀 3:布import random #直接导入产生随机数的模块person=int(input('请出拳[0:石头 1:剪刀 3:布]:'))computer=random.randint(0,2)if person==0 and computer==1: print('恭喜你 你赢了 ') passelif person==1 and computer==3: print('恭喜你 你赢了') pass.原创 2021-11-03 20:54:53 · 278 阅读 · 1 评论 -
6.python------内置函数和序列操作
1. 数学运算函数abs() 取绝对值函数 round(x,[,n]) 返回浮点数x的近似值,四舍五入,n为小数点后n位 pow(x,y,[,z]) x的y次方 divmod(a,b) 求商和余数,输出元组(a//b,a%b) max(序列) 返回给定参数的最大值,参数可以是序列 min(序列) 返回给定参数的最小值,参数可以是序列 sum(iterable[,start]) 求和,iterable为可迭代对象--列表元组集合,s...原创 2021-11-04 17:17:20 · 336 阅读 · 0 评论 -
DAY6作业:内置函数、序列操作、集合---练习
# 求三组连续自然数的和:求出1到10,20到30和35到45的三个和print(sum(range(1,11)))print(sum(range(20,31)))print(sum(range(35,46)))# 分析:求三个阶段的函数,因此需要构建一个函数,这个函数适用于连续自然数统一的求和def sumrange(a,b): return sum(range(a,b+1)) passprint(sumrange(1,10))print(sumrange(20,30)).原创 2021-11-05 16:30:36 · 275 阅读 · 0 评论