Python
自学Python笔记
鱼鱼9901
这个作者很懒,什么都没留下…
展开
-
爬虫注意事项
然后就使用正则匹配(在原网页摁F12)找到匹配内容。每次爬完一页内容以后记得要。以及在存入内容的时候。原创 2024-01-22 12:36:41 · 833 阅读 · 0 评论 -
Python学习之异常处理
【代码】Python学习之异常处理。原创 2023-12-30 11:22:40 · 393 阅读 · 0 评论 -
设计类的时候面向对象遵循的原则 SOLID
D(dependency inversion):依赖倒置 高层模块不应该直接依赖底层模块,而应该依赖抽象类或者接口(比如电脑类不能依赖某一个具体鼠标类,而应该是鼠标抽象类)I(interface segregation):接口分离 如果一个类包含了过多的接口方法,而这些方法在调用中并不是“不可分割”的 就应该把他们进行分离。O(open closed):对扩展开放,对修改关闭(可以扩展,尽量不要修改)S(single responsibility):单一职责。原创 2023-12-13 23:24:11 · 422 阅读 · 0 评论 -
抽象类和抽象方法
【代码】抽象类和抽象方法。原创 2023-12-13 21:59:02 · 332 阅读 · 0 评论 -
C3算法计算继承顺序
多个爷爷辈的多个父辈(每个父辈又有各自的父辈):从左边的父辈开始,没有的话再去找这个父辈的父辈(每一条路都dfs)同一个爷爷辈的多个父辈:从左到右遍历一遍父辈,都没有,再找爷爷辈。总的来说就是由下到上,先自己,再父辈,再爷爷辈,原创 2023-12-12 22:09:11 · 383 阅读 · 0 评论 -
python实现一个计算器
加上return self应该可以链式使用的,但是却报错了class是None type...先记录一下,后面再看看到底咋回事。原创 2023-12-05 10:38:12 · 736 阅读 · 0 评论 -
垃圾回收机制
【代码】垃圾回收机制。原创 2023-11-29 17:06:31 · 358 阅读 · 0 评论 -
用类实现装饰器
【代码】用类实现装饰器。原创 2023-11-29 12:01:06 · 349 阅读 · 1 评论 -
描述符与描述器
描述器的属性到底赋值给了Age还是Person?优先级:资料描述器>实例属性>非资料描述器。包含__set__,原创 2023-11-29 11:31:41 · 332 阅读 · 0 评论 -
类中的iter与next,遍历与迭代
`‘’’关于迭代与遍历‘’’class Person:def init(self):self.result = 1p=Person()for i in p: #遍历的操作调用的是__iter__print(i)print(next§) #next调用的是__next__print(next§)print(next§)print(next§)import collectionsprint(isinstance(p,collections.abc.Iterator))for i i原创 2023-11-29 10:41:36 · 919 阅读 · 0 评论 -
类的内置方法setattr和setitem
【代码】类的内置方法setattr和setitem。原创 2023-11-28 22:34:40 · 493 阅读 · 0 评论 -
Python自学——面向对象高级编程
函数也允许我们动态创建出类来,也就是说,动态语言本身支持运行期动态创建类,这和静态语言有非常大的不同,要在静态语言运行期创建类,必须构造源代码字符串再调用编译器,或者借助一些工具生成字节码实现,本质上都是动态编译,会非常复杂。其实,更多的时候,我们需要判断一个对象是否能被调用,能被调用的对象就是一个。方法,该方法返回一个迭代对象,然后,Python的for循环就会不断调用该迭代对象的。正常情况下,当我们调用类的方法或属性时,如果不存在,就会报错。属性外,Python还有另一个机制,那就是写一个。原创 2023-04-24 17:11:29 · 91 阅读 · 0 评论 -
Python自学——字典
setdefault(key[,default])如果key不存在会返回default并增加key到字典里成为key:default。2、dic.pop(key[,defalut])删除最后一个key并返回被删除的val如果key不存在就返回default。.get(key[,defalut])默认default是none,如果key不存在就会返回default。3、dic.popitem()删除最后一个key并返回被删除的键值对(以元组形式)dic[key] 如果key不存在就会报错。原创 2023-04-21 16:36:18 · 88 阅读 · 0 评论 -
Python自学——if嵌套 案例一的优化
【代码】Python自学——if嵌套 案例一的优化。原创 2023-04-19 10:59:04 · 259 阅读 · 0 评论 -
Python自学——函数
Python的函数是地址传递,如果实参是可变的,将直接改变实参def 函数名()调用: 函数名()原创 2023-04-23 10:18:09 · 112 阅读 · 0 评论 -
Python自学——一些补充
例如,系统自带了sys模块,自己的模块就不可命名为sys.py,否则将无法导入系统自带的sys模块。的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。,表示输入的Python代码有语法错误,最常见的一种语法错误是使用了中文标点。这样的函数或变量就是非公开的(private),不应该被直接引用,比如。类似的,可以有多级目录,组成多级层次的包结构。函数,而把内部逻辑用private函数隐藏起来了,这样,调用。这样的变量是特殊变量,可以被直接引用,但是有特殊用途,类似。原创 2023-04-23 12:29:53 · 25 阅读 · 0 评论 -
python自学——数据类型操作(数值操作、布尔操作、字符串操作)
randrange(x,y):[x,y)中随机选取一个整数,有step(步长)参数,)log(x,base)base的log(x,base)次方是x。round(num,x)四舍五入,x是想保留的小数点后位数。math.函数名(参数) 比如math.fabs(-10)randint(x,y):[x,y]中随机选取一个整数。uniform(x,y):[x,y]中随机选一个小数。random():[0,1)的随机小数。bin(num) 转换为2进制数据。pow(x,y)返回x的y次幂。abs(n):取绝对值。原创 2023-04-20 10:27:30 · 157 阅读 · 0 评论 -
python自学——元组
t = [(‘name’,‘sz’),(‘age’,18)]或者。多个元素以逗号分隔(没有()的情况下)默认为元组。单个元素在元组中的表示:(a,)必须有,tuple(seq) 把seq转换成元组。获取单个元素:t[indxt]获取多个元素:t[::]切片。元组不能增删改,只能查。结果是name sz。原创 2023-04-21 15:51:20 · 35 阅读 · 0 评论 -
Python自学——列表
insert(index,object)在目标位置增加Object,会改变原列表;.pop(index = -1)删除index位置的元素并返回被删除的元素,index默认是-1也就是列表中的最后一个元素。2、所有的序列类型(也就是后面要说到的 Sequence),都是可迭代对象,如 list、str、tuple,还有映射类型 dict、文件对象等非序列类型也是可迭代对象;如果列表里面是元组[(a,b),(c,d)]默认按第一个元素进行比较,也就是a和c比较,如果第一个元素相同,才进行下一个元素比较。原创 2023-04-21 15:33:19 · 40 阅读 · 0 评论 -
python自学——while和for循环、pass语句
给定一个num,创建一个合集(0,num+1),遍历这个合集去乘上num。现在就得到了乘法表的每一行。while要注意结束循环,break强行打断循环。如果一个代码需要再满足某个大条件下进行,可以用 if not,exit来完成。for:(遍历一个集合;可以是字符串,列表,break强行打断循环)pass语句用来占位置使代码完整。num是(0,10)的遍历。循环内嵌套循环:99乘法表。以上格式用来记录循环次数。原创 2023-04-19 14:30:56 · 345 阅读 · 0 评论 -
Python自学——文件
模式:r,w,a,增加b(以二进制格式进行操作),增加+(读写模式打开)参照点:0(开头),1(当前),2(结尾) 1和2只能在二进制文件使用。g.close() 不关闭的话写入的东西存在缓存区,没有直接写在文件内。f.readlines()把文件按换行符处理,形成输出处理后的列表。文件操作三部曲,一步也不能少:打开,读写,关闭。open(‘文件路径’,‘模式,默认为r’)g.flush() 清空缓存区的内容到文件内。f.seek(偏移量,参照点)读:f.read(字节数)重命名,删除,创建等。原创 2023-04-23 11:56:13 · 30 阅读 · 0 评论 -
Python自学——集合
s2=set({'a':1,'b':2}) 结果是{'a','b'}result的类型跟.左侧的集合一样,result是返回的集合。result的类型跟.左侧的集合一样,result是返回的集合。result的类型跟.左侧的集合一样,result是返回的集合。result的类型跟.左侧的集合一样,result是返回的集合。result的类型跟.左侧的集合一样,result是返回的集合。result的类型跟左侧的集合一样,result是返回的集合。result是none,s1是s1和s2的并集。原创 2023-04-21 17:20:26 · 34 阅读 · 0 评论 -
Python自学——修改环境变量
该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。这种方法是在运行时修改,运行结束后失效。第二种方法是设置环境变量。原创 2023-04-24 08:13:32 · 774 阅读 · 0 评论 -
Python自学——错误、调试和测试
在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。错误处理机制:try...except...finally当我们认为某些代码可能会出错时,就可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。出错的时候,一定要分析错误的调用栈信息,才能定位错误的位置。原创 2023-04-24 22:02:01 · 61 阅读 · 0 评论 -
Python自学——面向对象编程
OOP。原创 2023-04-24 09:54:42 · 31 阅读 · 0 评论 -
python自学——案例一
根据输入的身高体重年龄性别,判断体脂率是否合格并输出。原创 2023-04-18 10:36:59 · 103 阅读 · 0 评论 -
python自学——输入与输出
print('my age is %g(or G)' %20)自动转换成int/float,超过6位的自动转换成科学记数法。print('my age is %d' %0x1010)0b是十六进制转换,把16进制转换成十进制。print('my age is %d' %0b1010)0b是二进制转换,把二进制转换成十进制。print('my age is %d' %0o1010)0b是八进制转换,把2进制转换成十进制。print('my age is %%%c' %20)把20转换成20%原创 2023-04-18 09:51:49 · 46 阅读 · 1 评论 -
python自学——运算符
,=,原创 2023-04-18 08:18:25 · 55 阅读 · 1 评论