python 进阶-待整理
python
编解码
https://www.bilibili.com/video/BV1EE41187jY?p=41&spm_id_from=pageDriver
\r \n
- \r 回到本行开头,覆盖本行本容
- \n 本行的下一行开头
argparse
https://blog.csdn.net/the_time_runner/article/details/97941409
https://www.cnblogs.com/lindaxin/p/7975697.html
https://zhuanlan.zhihu.com/p/56922793
https://docs.python.org/zh-cn/3/library/argparse.html#dest
装饰器
更复杂的可以吧装饰想想成顶层(最外层)的函数
链接还要再看
https://www.zhihu.com/search?type=content&q=Python%20%E8%A3%85%E9%A5%B0%E5%99%A8
https://www.runoob.com/w3cnote/python-func-decorators.html
def decorator(fun):
def wrapper(*args,**kwargs):
# some wrapper op
fun(*args,**kwargs)
return xxx
return wrapper
@decorator #没有括号
def fun(*args):
#some fun op
pass
return xxx
#执行
fun(*args)
# output:
# some wrapper op
# some fun op
def decorator_wrapper(decorator_param):
def decorator(fun):
def wrapper(*args,**kwargs):
#some warpper op
fun(*args,**kwargs)
return in_warpper_output
return warpper
return decorator
@decorator_wrapper(decorator_param) #没有括号
def fun(*args):
#some fun op
pass
return xxx
类
https://zhuanlan.zhihu.com/p/21101992
http://www.python3.vip/tut/py/basic/18/
https://www.runoob.com/note/33690
https://www.zhihu.com/question/319032154/answer/1485734871(重要)
https://zhuanlan.zhihu.com/p/165224592(重要)
https://www.zhihu.com/search?type=content&q=python%20%E9%9D%99%E6%80%81%E6%96%B9%E6%B3%95%E5%92%8C%E7%B1%BB%E6%96%B9%E6%B3%95
类的公共属性和实例属性
实例属性 init
__init__在创建好实例后就要立刻被执行
@staticmethod 静态方法 不能访问实例属性,静态方法没有参数要求
实例方法,参数self
@classmethod 类方法,参数cls
在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象
静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制
类方法可以被对象调用,也可以被实例调用;传入的都是类对象
静态方法参数没有实例参数 self, 也就不能调用实例参数
类名调用静态方法可以
类名调用实例方法要传实例对象
类名调用类方法可以
对象调用静态方法可以
对象调用实例方法可以
对象调用类方法可以
静态方法不能访问(修改)实例方法和实例属性,只修改类属性和类方法(修改类属性后,实例中的累属性也会被修改)
继承
子类也会调用父类的__init__
要特别注意的是, 子类的初始化方法里面,如果有一部分的初始化代码和父类的初始化相同(通常都是这样),需要显式的 调用父类的初始化方法 init。而且要传入相应的参数
如果子类 没有 自己的初始化方法,实例化子类对象时,解释器会自动调用父类初始化方法
super
https://www.zhihu.com/search?type=content&q=python%20super
super不仅仅可以调用父类的初始化方法,也可以调用父类的其他方法
file
进程
https://www.zhihu.com/question/25532384
正则表达式
https://www.cnblogs.com/shenjianping/p/11647473.html(全)
https://www.cnblogs.com/selina1997/p/10208660.html(对于量词的解释)
https://www.jianshu.com/p/39fb062abbe0
https://www.runoob.com/python3/python3-reg-expressions.html
socket
https://www.zhihu.com/search?type=content&q=socket(大林 没看完)
https://www.bilibili.com/video/BV1eg411G7pW?from=search&seid=16916536270625157990
主机地址为空字符串,表示绑定本机所有网络接口ip地址
listen 表示 最多接受多少个等待连接的客户端
__annotation__方法
https://blog.csdn.net/dongfuguo/article/details/105103472
https://blog.csdn.net/poblg/article/details/103583671
dict.update方法
http://c.biancheng.net/view/4386.html
hasattr
用于判断类属性的存在
https://www.cnblogs.com/cenyu/p/5713686.html
相对导入绝对导入
https://www.cnblogs.com/ArsenalfanInECNU/p/5346751.html
https://www.zhihu.com/search?type=content&q=attempted%20relative%20import%20with%20no%20known%20parent%20package(重要)
python3不写__init__也可以
name
https://zhuanlan.zhihu.com/p/57309137
https://blog.csdn.net/wosind/article/details/90728198
logging
https://www.bilibili.com/video/BV1sK4y1x7e1?from=search&seid=7836820017728226452
运算优先级
https://blog.csdn.net/weixin_44001521/article/details/102560056
逻辑运算符优先级
a=b=c
| & and or
https://blog.csdn.net/weixin_40041218/article/details/80868521
max
问题
- 闭包
- 作用域
- 嵌套
- 工厂方法