
1. global 修改全局变量
a=5def change():a=3change()print(a) # 5######################################a=5def change():global aa=3change()print(a) # 3
2. Python GIL (来源于网络,感觉解释的比较好 程序IT圈 )
GIL 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大
3.assert()方法,断言成功,则程序继续执行,断言失败,则程序报错
a=7assert a>5print('asset go on!~')assert a>9print('asset failed!~')asset go on!~File "C:/Users/Augus/PycharmProjects/mystudy/knowlage.py", line 5, in <module>assert a>9AssertionError
4.map函数,这个函数的意思就是将function应用于iterable的每一个元素,结果以map的形式返回。常用lambda一起使用的
格式:map(function, iterable, …)
function: 自定义函数,内置函数等
iterable:可迭代对象,如列表,元组,字符串,并且map后面可以接多个iterable对象
def maptest(a):return a*aprint(list(map(maptest,[1,2,3]))) #自定义函数[1, 4, 9]a=list(map(str,'python')) # 内置函数print(a)['p','y','t','h','o','n']lambda函数:print(list(map(lambda x: x ** 2, [1, 2, 3,]))) #lambda x: x ** 2相当于上面的自定义函数[1, 4, 9]
5.Glob()查找文件
import glob #查询一类文件files = glob.glob('*.py')print(files)['knowlage.py', 'log.py', 'slice.py']
获取多类文件import glob,itertools# files = glob.glob('*.py')# print(files)def get_files_miltiple(*args):return itertools.chain.from_iterable(glob.glob(pat) for pat in args)for file in get_files_miltiple("*.py","*.log"):print(file)
文章转载自Python大数据与SQL优化笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




