Python
MY Qi
这个作者很懒,什么都没留下…
展开
-
C++和python中的变量定义时的区别
C++和python中的变量定义时的区别这张图比较全面的显示了python和C变量定义时的区别:C/C++:变量对应内存中的一块区域,当修改这个值时,直接修改内存区域中的值。python:变量只是对一块存放指定值的内存区域的引用,赋值时是让该变量引用另一块存放新值的内存区域。因此在赋值时等号左边的变量类似于标签,等号右边的是值对应的地址。例如下python程序:t = [0] #定义一个只有0值的列表 a = t #将列表赋值给变量a print(id(t)) #id原创 2020-07-07 22:01:52 · 820 阅读 · 0 评论 -
Python装饰器
python装饰器就是用来给原来的函数拓展功能的一种函数。比如你有一段函数import timedef demo(): time.sleep(2) print('hello world')假如你要给这段代码增加测试运行时间的功能,第一种方法,你可以这样写import timedef demo(): start = time.time() time.sleep(2)...原创 2019-11-13 17:04:41 · 110 阅读 · 0 评论 -
Python闭包
一,闭包1.函数嵌套顾名思义,函数嵌套就是在定义一个函数的同时,在函数的内部再定义一个函数,比如:def a(): print("这是a函数") def b(): print("这是b函数") return b()a()运行这段代码,程序输出:这是a函数这是b函数程序的执行顺序如下图,程序从上到下执行,首先到1定义函数a(),紧接着到2执行a函数,进入a函数之后顺序...原创 2019-11-13 15:36:58 · 209 阅读 · 0 评论 -
Python.__getitem__方法
Python的魔法方法__getitem__ 可以让对象实现迭代功能,这样就可以使用for…in… 来迭代该对象了如果不定义__getitem__方法时,运行下列代码会提示错误:class person: def __init__(self, name_list): self.person_name = name_listpersons = person(["张三"...原创 2019-11-02 11:03:40 · 361 阅读 · 0 评论 -
python中 __setitem__()和 __setattr__()的区别
(1)__setattr__(self, item, value):会拦截所有属性的的赋值语句,如果定义了这个方法,在给属性变量赋值时会调用__setattr__(self, item, value)方法,执行self.__dict__[key] = value。当在__setattr__(self, item, value)方法内对属性进行赋值时,不可使用self.name = value,因...原创 2019-10-30 17:28:24 · 3692 阅读 · 0 评论