摘要: 类方法与静态方法 类方法:类方法通过@classmethod装饰器实现,类方法与普通方法的区别是,类方法只能访问类变量,不能访问实例变量。因为添加classmethod后,self不代表实例,而代表类本身,所以类方法可以直接用类去调用,也可以用实例对象去调用。 静态方法:静态方法不能访问类变量,也不 阅读全文
posted @ 2022-11-13 23:32 powfu 阅读(35) 评论(0) 推荐(0)
摘要: 对象继承 单继承:即继承父类的属性方法 super()方法 场景:既想用父类的__init__属性,又想用自己的__init__属性,如果不在子类中加这个函数,直接在子类写__init__,那么会重写父类__init__,相当于覆盖。 以下中在子类的__init__方法中使用 super().__i 阅读全文
posted @ 2022-11-13 22:43 powfu 阅读(21) 评论(0) 推荐(0)
摘要: OS模块 SYS模块 time模块 datetime模块 阅读全文
posted @ 2022-11-13 22:28 powfu 阅读(18) 评论(0) 推荐(0)
摘要: 闭包: 正常情况下,上例中a变量在return语句后,a变量会被释放。但由于内部inner函数继续调用a变量,导致a变量没有被释放。这种现象叫闭包 def outer(): a=1 def inner(): print(a) return inner #在这并没有执行inner函数。只是返回inne 阅读全文
posted @ 2022-11-13 22:19 powfu 阅读(26) 评论(0) 推荐(0)
摘要: 迭代器: 迭代器是访问可迭代对象的工具,用iter(obj)函数返回对象实例,再用next(it)获取迭代对象的数据。 好处:我们在访问可迭代对象是,加入迭代对象很大,如果直接访问,占用大量内存,通过迭代器,一个一个的访问,减少内存的使用 I = [1,3,5,7,9] it = iter(I) p 阅读全文
posted @ 2022-11-13 22:00 powfu 阅读(29) 评论(0) 推荐(0)
摘要: 生成器 我们在函数中使用yield,这个函数就是生成器函数。 生成器本质上就是一个函数,它记住了上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用,跳转到函数上一次挂起的位置。而且记录了程序执行的上下文。 以下面的案例举例:当主函数f = fib(10)执行时,fib函数不会被立即调 阅读全文
posted @ 2022-11-13 21:54 powfu 阅读(62) 评论(0) 推荐(0)
摘要: --栈 #规则:先进后出,只能对栈顶进行操作 #应用:浏览器的返回 实现方式一 以列表尾部作为栈的顶端 class Stack(): def __init__(self): self.items = [] def push(self,item): #往栈追加一个元素 self.append(item 阅读全文
posted @ 2022-11-13 21:34 powfu 阅读(19) 评论(0) 推荐(0)
摘要: re正则表达式模式 正则的贪婪匹配: python的re正则默认就是采用贪婪匹配,所谓贪婪匹配就是尽可能的匹配更多的字符,在下面案例中(\d+)就是采用贪婪匹配,直接把后面的0全部匹配了,结果0*只能匹配空字符串了。 想要让 “\d+” 采用非贪婪匹配(也就是尽可能少匹配),才能把后面的0匹配出来, 阅读全文
posted @ 2022-11-13 16:40 powfu 阅读(100) 评论(0) 推荐(0)
摘要: --re.match()方法 语法:re.match(pattern,string,flags) 其中flags表示的标志位。有以下几种 re.I 忽略大小写re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境re.M 多行模式re.S 即为 . 并且包括换行符在内 阅读全文
posted @ 2022-11-13 16:35 powfu 阅读(733) 评论(0) 推荐(0)