设计模式
设计原则
SOLID
https://www.cnblogs.com/wuyuegb2312/p/7011708.html
23种设计模式
设计模式是经过总结、优化的,对我们经常会碰到的一些编程问题的可重用解决方案
SOLID
https://www.cnblogs.com/wuyuegb2312/p/7011708.html
设计模式是经过总结、优化的,对我们经常会碰到的一些编程问题的可重用解决方案
1 | try: |
https://blog.csdn.net/qq_35541155/article/details/108809130
一般代码错误会触发特定异常
某些场景,代码没有错误,也可以人工触发特定异常,借助raise
1 | try: |
1 | 123 |
https://zhuanlan.zhihu.com/p/331732504
1.对象:python里一切皆对象
对象的本质是:对象是分配的一块内存,有足够的空间去表示它们所代表的值。—— 《Learning Python》
对象具有三要素:标识(identity)、类型(type)、值(value)
可变对象,不可变对象
2.变量:是对象的一个临时标签
1 | x = 666 |
执行以上三句,在 python 中意味着什么, 实际发生了什么?
x = 666
会在内存中创建一个整型对象666,然后变量x
相当于一个标签,贴在此对象上,注意666是对象,x是变量y = x
将y
也作为这个整型对象666的标签,而不是重新在内存中创建一个对象。x = x+1
将 x
的值加 1
,然后在内存中创建另一个整型对象667
,将x
贴在这个对象上,而不是原来的 666
上。作用域从小到大 LEGB
1 | f=lambda a,b,c,d:a*b*c*d |
1 | 1 print([f(2) for f in [lambda x:i*x for i in range(5)]]) |
https://blog.csdn.net/zjbyough/article/details/96466658
https://blog.csdn.net/sunxb10/article/details/81036693
单引号,双引号,3个单引号,3个双引号
1 | 实现了__iter__的对象就是可迭代对象 |
1 | 实现了 __ iter __ +__ next __ |
1 | 特殊的迭代器 |
借助yield实现
1 | >>> def my_generator(): |
使用 ()
包裹,而不是【】
1 | g = ((i)**2 for i in range(5)) |
优势
1 | import sys |
https://www.runoob.com/python3/python3-iterator-generator.html
调用函数A,返回函数B给你,函数B就是闭包
修饰符号:@
本质是闭包
https://www.runoob.com/w3cnote/python-func-decorators.html
顺序为从下至上
将方法转换为相同名称的只读属性
1 | class dataset(object): |