https://zhuanlan.zhihu.com/p/35725217
https://blog.csdn.net/lyb3b3b/article/details/82822734
http://www.mamicode.com/info-detail-2319050.html
https://www.baidu.com/link?url=YAOzmdnUTw7g2vUXgoA2Jlw2t_D4tt9XnkRAzBJYyYinUoFCIhDLNrOmQ-qhMQQ-77BA1NdBh27hbTj7DiV5wN1pcjnREkclB2v_FG80Aya&wd=&eqid=853e2edf0000c8fa000000065f08a7dc
https://www.baidu.com/link?url=AhqdrJ–9ih68imhfaAxVI-E79PpE4TflqvIhI7gb1qyaoG4qYJWC9PnF_nk9dfbiXWWE2Xsiq5wPAltD9x5eV0M8So-1c13HbUhPfqY3dC&wd=&eqid=b7c6271b00004520000000065f08ab0b
一个常见的惯例是使用“_“作为要忽略的元组元素的变量名。例如:
def f(): return 1, 2, 3 _, _, x = f()https://www.cnblogs.com/yifchan/p/python-1-11.html
https://www.cnblogs.com/balllyh/p/10394851.html
https://www.cnblogs.com/balllyh/p/10394851.html
http://tool.chinaz.com/regex/
https://www.runoob.com/python/python-built-in-functions.html https://www.cnblogs.com/Eva-J/articles/7206498.html#_label2
https://www.iteye.com/blog/dudong0726-1226907
https://www.cnblogs.com/maxiaohei/p/7787256.html
可以首先执行 python -m ensurepip 然后执行 python -m pip install --upgrade pip 即可更新完毕。
https://blog.csdn.net/zz__ElPsyCongroo/article/details/38824301?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase
https://blog.csdn.net/sherpahu/article/details/81805482?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
https://blog.csdn.net/u011771047/article/details/52259401
https://blog.csdn.net/qq_42778001/article/details/102604983
https://www.jianshu.com/p/7fc0a177fd1f
https://www.cnblogs.com/alvin2010/p/9102344.html
其实这两个错误的原因归根结底是一样的:在涉及到相对导入时,package所对应的文件夹必须正确的被python解释器视作package,而不是普通文件夹。否则由于不被视作package,无法利用package之间的嵌套关系实现python中包的相对导入。
文件夹被python解释器视作package需要满足两个条件:
1、文件夹中必须有__init__.py文件,该文件可以为空,但必须存在该文件。
2、不能作为顶层模块来执行该文件夹中的py文件(即不能作为主函数的入口)。
补充:在"from YY import XX"这样的代码中,无论是XX还是YY,只要被python解释器视作package,就会首先调用该package的__init__.py文件。如果都是package,则调用顺序是YY,XX。
另外,练习中“from . import XXX”和“from … import XXX”中的’.‘和’…’,可以等同于linux里的shell中’.‘和’…'的作用,表示当前工作目录的package和上一级的package。
set(可变集合)与frozenset(不可变集合)的区别: set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交集), difference(差集)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, 或其它类序列的操作。 frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。
https://www.cnblogs.com/panwenbin-logs/p/5519617.html
Python中有三个去除头尾字符、空白符的函数,它们依次为: strip: 用来去除头尾字符、空白符(包括\n、\r、\t、’ ‘,即:换行、回车、制表符、空格) lstrip:用来去除开头字符、空白符(包括\n、\r、\t、’ ‘,即:换行、回车、制表符、空格) rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、’ ',即:换行、回车、制表符、空格)
https://www.cnblogs.com/huangbiquan/p/7923008.html
https://blog.csdn.net/xhw88398569/article/details/48690577/
https://www.cnblogs.com/alvin2010/p/9102344.html
@classmethod,和@staticmethod是类中的特殊装饰器 @classmethod:在定义方法的时候需要传递一个cls,cls代表了当前的类,可以通过cls.类属性和各种方法(需要注意的是当cls.类普通方法的时候需要在第一个参数位置传递一个实例化对象(因为有一个self,所以需要传递)) @staticmethod:在定义的时候不需要传递cls和self,这样就可以看成是普通函数一样,在使用的时候可以通过类或者实例化对象.staticmethod方法名来进行调用,如果在静态方法中想调用其他类方法,需要用类名(或者实例化对象名).方法名调用
用来保护对象属性,同时将方法伪装成属性
class Student: def __init__(self, name,score): self.__score = score self.name = name #利用property装饰漆进行将score方法伪装成属性,此时score方法中不能有额外参数,而且需要有对应的返回值, #这样开辟了在保护私有属性的对类外访问接口,同时可以根据类似访问属性的方式来访问 @property def score(self): print('property被调用') return self.__score #当对象.score=XX的使用被调用,将XX传递给value @score.setter def score(self, value): print('setter被调用') self.__score = value jack = Student('jack',60) jack.score = 80 print(jack.score) #setter被调用 #property被调用 #80参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017502538658208