![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
yitiaodashu
这个作者很懒,什么都没留下…
展开
-
函数、闭包、实例对象当做实参时,有什么区别?
先定义一个Python函数:def xxx(): pass那当函数、闭包和实例对象当做实参时,有什么区别呢?即下面几行代码的区别:xxx(函数)xxx(闭包)xxx(实例对象)答案:1、函数:能够完成一般的功能,传递的是这个函数的引用,只有功能 2、闭包:能够完成较复杂的功能,传递的是闭包中的函数以及数据,因此是功能+数据(可以说是阉割版的实例对象) 3原创 2018-01-04 17:30:26 · 435 阅读 · 2 评论 -
Python中内建属性__getattribute__的用法总结
首先理解__getattribute__的用法,先看代码:class Tree(object): def __init__(self,name): self.name = name self.cate = "plant" def __getattribute__(self,obj): print("哈哈") r原创 2018-01-04 19:39:24 · 27585 阅读 · 5 评论 -
Python中字典的get()方法以及defaultdict
字典中的get()方法先看代码:info_dict = {"name":"一条大树","age":18,"country":"中国"}print(info_dict.get("name"))print(info_dict["gender"]) #这行代码会抛异常print(info_dict.get("gender"))print(info_dict.get("gender",原创 2018-01-09 19:01:31 · 3454 阅读 · 1 评论 -
python中类当作装饰器及其意义
装饰器函数其实是这样一个接口约束,它必须接受一个callable对象作为参数,然后返回一个callable对象。在Python中一般callable对象都是函数,但也有例外。只要某个实例对象重写了 call() 方法,那么这个对象就是callable的。不带参数的类装饰器class Test(object): def __init__(self, func):原创 2018-01-09 19:40:23 · 1025 阅读 · 1 评论 -
pyhton中__pycache__文件夹的产生与作用
源起今天和一新来的同事沟通,说他用python编写了一个工程,但在第一次运行后,发现工程根目录下生成了一个__pycache__文件夹,里面是和py文件同名的各种以 .cpython-35.pyc 结尾的文件,问同事都不太清楚,所以便抽空整理了一下该知识点。先解释下cpython-35,cpython代表的是c语言实现的Python解释器,-35代表的是版本为3.5版。 至于pyc,先来了解原创 2018-01-10 15:05:22 · 67679 阅读 · 26 评论 -
Python的闭包与延时绑定问题
今天一个在自学python的同学问了这么一个问题,感觉挺典型的,于是整理如下:def mul(): return [lambda x : i*x for i in range(4)]print([m(2) for m in mul()])# output:# [6, 6, 6, 6]为毛结果是 [6, 6, 6, 6] 而不是我们以为的 [0, 2, 4, 6] 呢原创 2018-01-10 16:34:56 · 2317 阅读 · 3 评论 -
私有化
xx: 公有变量_x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问__xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到)__xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:__init__ , __ 不要自己发明这样的名字xx_:单后置下划线,用于避免与Python关键词...原创 2018-03-30 10:38:27 · 358 阅读 · 0 评论 -
python中浅拷贝和深拷贝的区别
python的拷贝分为浅拷贝和深拷贝,若不特殊说明一般是浅拷贝。 – 直接赋值:其实就是对象的引用(别名),属于最基本的浅拷贝。 – 浅拷贝之copy:看对象是可变类型还是不可变类型,如果是不可变类型,则是对象的引用,如果是可变类型,则只拷贝父对象,不会拷贝对象的内部的子对象(如果只有一层,则和深拷贝无区别)。 – 深拷贝(deepcopy): copy 模块的 deepcopy ...原创 2018-03-27 14:46:03 · 479 阅读 · 1 评论