1.format的用法
print('{name},{age}'.format(age=18,name='chuhao'))
chuhao,18
2.Python 用下划线作为变量前缀和后缀指定特殊变量
_xxx :保护变量,意思是只有类对象和子类对象能够访问到这些变量(尽量避免在类外部直接修改)
__xxx__ :系统定义名字
__xxx :类中的私有变量名
3.安装第三方模块出问题
Command "python setup.py egg_info" failed with error code 1 in C:\Users\54898\AppData\Local\Temp\pip-install-0b5_hrqc\Shapely\
File "d:\anaconda\lib\ctypes\__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] 找不到指定的模块。
try this:https://myo-python.readthedocs.io/en/latest/?badge=latest#installation
4._init_ super是继承父类
5.__init__.py
__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。
通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。
摘自:https://www.cnblogs.com/Lands-ljk/p/5880483.html
6. 列表除了append, 还可以用+(合并两个列表成一个列表)
7、循环的停止语句
pass :不做任何事情,只起到占位的作用,后面的代码(else之前)还是会执行
continue: 跳出本次循环
break:结束循环
8、try处理异常
try:
正常的操作
......................
except (异常名):
发生异常,执行这块代码
......................
else:
如果没有异常执行这块代码
9、多线程和多进程
多线程的效率不一定高,不同线程的任务越不同,效率越高。一段时间只允许一个线程run,其他的被锁死。省下的只是中间数据读取的时间。
python 的多线程 threading 有时候并不是特别理想. 最主要的原因是就是, Python 的设计上, 有一个必要的环节, 就是 Global Interpreter Lock (GIL). 这个东西让 Python 还是一次性只能处理一个东西.(https://morvanzhou.github.io/tutorials/python-basic/threading/5-GIL/)
而多进程就不一样了,明显效率更高。