黑马程序员技术交流社区
标题: 个人学习python的小结 [打印本页]
作者: 等待奇点 时间: 2018-6-25 10:42
标题: 个人学习python的小结
学至今日,回想这两个月的python学习成果,初感貌似东西不多,但转而细细回想,一些知识点的脉络出现头绪进而逐渐清晰,下面我就大致浅谈一下最近一段时间学习的总结吧,当然考虑到篇幅及时间的原因,这里只能做一下有节选的小结。
引用中分为不可变类型与可变类型,不可变类型是修改里面的数据内容,内存起始地址必定发生改变,包括数字类型,布尔值,字符串还有元组;而可变类型则是修改内容,内存起始地址不变,包括列表和字典。
函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”。
函数中实例属性和类属性的区别: 类属性对于每个类实例对象都有,可以通过类对象创建,而实例属性则是类属性中独具个性的属性,它们是相互独立互不干扰的,可通过类对象或实例对象创建。
模块导入时,每一个包目录下面都会有一个init.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。init.py可以是空文件,也可以有Python代码,因为init.py本身就是一个模块,而它的模块名就是包的名字。
装饰器decorator: 可以将原函数对象的指定属性复制给包装函数对象, 或者通过参数选择。以下的万能选择器在不修改源代码的情况下,给源代码添加新的功能,如下:
def set_fun(func):
def call_fun(*args, **kwargs):
print("添加额外的功能")
return func(*args, **kwargs)
return call_fun
@set_fun
def test(*args, **kwargs):
print(args)
print(kwargs)
return 100
value = test(31, 63, a=312263)
print(value)
文件操作: read: 一次性读取整个文件。 readline: 读取一行,readlines: 读取整个文件到迭代器。用with打开文件的方式比较好,会自动关闭文件。读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数。如果文本文件中可能混杂了一些非法的编码的字符,open()还可以接受一个errors参数,处理最简单的方法是忽略(ignore),即errors=’ignore’。
多进程: (multiprocessing)
Process: from multiprocessing import Process,proc = Process(target,args),proc.start(),proc.join()
1,分布式进程: multiprocessing.managers
2,注意: 在多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响;而多线程中,所有变量都由所有线程共享
进程池(Pool)
from multiprocessing import Pool
proc = Pool(4) ,proc.apply_async(target,args),proc.close(), proc.join(), close之后就不能添加新的process了。
多线程(threading)
Threading thread = threading.Tread(target,args,name),thread.start(),thread.join()
1,锁: lock = threading.Lock() ,eg:lock.acquire() ,try: something… finally: lock.release() 一定要释放锁。
2,获取现在线程的名字: threading.current_thread().name
3,在Tread和Process中,应该优先选Process。
协程:单线程的异步编程模型。
协程: 利用进程+协程可以很大的程度上利用多核的cpu。
python对协程的支持是通过generator实现的。
如果一个函数包含yield关键字,那这个函数就不是普通的函数了,而是一个generator。
注意: yield不但可以返回一个值,还可以接收调用者发出的参数。 先返回后接收调用者发出的参数。
作者: 不二晨 时间: 2018-6-25 14:04
专业,棒棒哒
作者: wuqiong 时间: 2018-6-25 15:26
作者: 小影姐姐 时间: 2018-6-26 09:21
加油
作者: 吴琼老师 时间: 2018-6-28 15:05
作者: 不二晨 时间: 2018-7-2 13:34
奈斯
作者: 梦缠绕的时候 时间: 2018-7-5 14:55
作者: 吴琼老师 时间: 2018-7-5 16:38
作者: 不二晨 时间: 2018-7-11 16:25
加油加油,棒棒哒!
作者: 梦缠绕的时候 时间: 2020-3-12 16:45
棒棒的
作者: xiaowang66 时间: 2020-3-12 17:29
加油
作者: 晨大喵 时间: 2020-3-12 18:06
加油~
作者: xiaowang66 时间: 2020-3-19 16:56
加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |