Python
python基础知识+高级特性
菜鸟.天字一号
这个作者很懒,什么都没留下…
展开
-
直接赋值、浅拷贝和深度拷贝
直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 解析1、b = a:赋值引用,a 和 b 都指向同一个对象。2、b = a.copy():浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。b = copy.deepcopy(a):深度拷贝, a 和 b 完全拷贝了父对象...转载 2020-06-09 16:54:53 · 168 阅读 · 0 评论 -
ThreadLocal多线程共享变量副本
啊转载 2020-06-09 16:29:20 · 486 阅读 · 0 评论 -
命名空间与作用域
1.命名空间【定义】 它是存储作用域中变量的字典。一个命名空间中不能有重名,但是不同的命名空间可以重名而没有任何影响。【分类】 按照变量定义的位置,可以划分为以下3类: Local,局部命名空间,记录了函数中定义的所有变量,包括函数的入参、内部定义的局部变量。使用locals()查看局部命名空间。 Global,全局命名空间,记录了每个被加载模块中定义的变量,包括模块中定义的函数、类、其他导入的模块、模块级的变量与常量。使用globals()查看全局命名...转载 2020-06-05 17:34:46 · 1954 阅读 · 0 评论 -
实例方法、类方法、静态方法的区别
Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。1.实例方法定义:第一个参数是“self”,通过它可以使用实例的属性和方法,也可以使用类的属性和方法调用:只能由实例对象调用2.类方法定义:使用装饰器@classmethod。第一个参数是“cls”,通过它可以使用类的属性和方法,但不能传实例的属性和方法调用:类对象或实例对象都可以调用3.静态方法定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,方法体中..原创 2020-06-05 16:24:41 · 3282 阅读 · 0 评论 -
面向对象编程
class Student(object): def __init__(self, name, score): self.name = name self.score = score def print_score(self): print('%s: %s' % (self.name, self.score))>>> bart = Student('Bart Simpson', 59)>>> b.原创 2020-06-03 16:24:47 · 168 阅读 · 0 评论 -
os模块与sys模块
os模块提供了程序与操作系统的交互接口; sys模块提供了程序与python解释器的交互接口,用于操控python的运行时环境。os常用方法:os.remove(path)删除文件os.rename(src,dst)重命名文件os.walk(path)生成目录树下的所有文件名os.chdir(path)改变目录os.mkdir(path)/makedirs(path)创建目录/多层目录os.rmdir(path)/removedirs(path)删除目录/多层目录os.lis.原创 2020-06-03 15:34:03 · 186 阅读 · 0 评论 -
正则表达式
建议参考这篇博客:https://www.cnblogs.com/Anesthesia-is/articles/11503398.html正则语法:原创 2020-06-03 11:45:52 · 176 阅读 · 0 评论 -
文件读写
1.读1.获取读文件句柄>>> f = open('test.txt','r') # 若是'rb'就表示读二进制文件如果文件不存在,open()函数就会抛出一个IOError的错误:>>> f=open('test.txt','r')Traceback (most recent call last):File"<stdin>", line 1,in<module>FileNotFoundError: [Err...原创 2020-06-03 11:19:48 · 311 阅读 · 0 评论 -
python2.7官方介绍文档
https://docs.python.org/zh-cn/2.7/library/index.html原创 2020-06-02 18:06:41 · 270 阅读 · 1 评论 -
函数式编程
啊原创 2020-06-03 10:37:50 · 133 阅读 · 0 评论 -
多进程与多线程
a原创 2020-06-02 19:49:17 · 159 阅读 · 0 评论 -
内存管理机制
从三个方面来说:一、对象的引用计数机制Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。引用计数增加的情况: 1,一个对象分配一个新名称 2,将其放入一个容器中(如列表、元组或字典)引用计数减少的情况: 1,使用del语句对对象别名显示的销毁 2,引用超出作用域多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串),解释器会在程序的不同部分共享内存,以便节约内存。二、垃圾回收机制1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。原创 2020-06-02 13:56:12 · 103 阅读 · 0 评论 -
生成器/迭代器/装饰器
迭代器这里,首先要清楚可迭代对象和迭代器的区别。定义可迭代对象,必须实现__iter__方法;定义迭代器,必须实现__iter__和next方法,即实现迭代器协议。因此,迭代器一定是可迭代对象。可迭代对象通过使用iter()方法可以变成迭代器对象 print(isinstance(iter([]),Iterator))# 列表 True 可迭代对象可以直接用for循环遍历,比如以下2种:一类是集合数据类型,如list、tuple、dict...原创 2020-06-02 11:56:25 · 291 阅读 · 0 评论 -
python数据类型
在python中数据类型有6类:数字(又分为:int/long/float/complex),字符串,元组,集合,列表,字典。共9种。int long(可以代表八进制和十六进制]) float complex 10 51924361L 0.0 3.14j 100 -0x19323L 15.20 45.j -786 0122L -21.9 9.322e-36j 080 0xDEFABCECBDAECBFBAEl原创 2020-06-02 10:57:38 · 267 阅读 · 0 评论