python高级
python高级
只因为你而温柔
如果人生就是一场陷阱,不知何时才能到天明。如果对得起我的生命,我要向全世界证明。
展开
-
python装饰器
函数重命名 def test1(): print('----1----') def test1(): print('----2----') test1() #这里打印 ----2---- 因为test1现在指向了下面这个函数装饰器-1 ''' 装饰器 装饰器是程序开发中经常用到的一个功能,用好了装饰...原创 2019-05-04 19:51:33 · 922 阅读 · 4 评论 -
python模块
python模块hashlib-md5import hashlibm = hashlib.md5() #创建hash对象:md5:消息摘要算法,得出一个128位密友print(m) #<md5 HASH object>m.update(b'itcast') #更新哈希对象以字符串参数print(m.hexdigest())#反回十六进制数字字符串# 运行结果...原创 2019-08-27 20:07:46 · 117 阅读 · 0 评论 -
python-functools
python-functoolsfunctools-partialimport functoolsprint(dir(functools))#partial函数(偏函数)#把一个函数的某些参数设置默认值,反回一个新的函数,调用这个新函数会更简单def showarg(*args,**kwargs): print(args) print(kwargs)p1 ...原创 2019-08-27 20:03:28 · 265 阅读 · 0 评论 -
python集合
python集合交集a = {'a','b','c','d','e','f'}b = {'a','b','c','d'}print(a&b)# 运行结果{'d', 'c', 'a', 'b'}并集a = {'a','b','c','d','e','f'}b = {'a','b','c','d','x','g','h'}print(a|b)# 运行结果...原创 2019-08-27 20:00:13 · 226 阅读 · 1 评论 -
python内建方法
python内建方法内建方法python2中range是生成列表xrange是生成器python3中range是生成器-----------------------------------------------------------map函数需要两个参数第一个是函数 第二个是可迭代对象列map根据你传的一个可迭代对象生成一个新的可迭代对象map(lambda...原创 2019-08-27 19:55:23 · 82 阅读 · 0 评论 -
python内建属性
python内建属性属性拦截器-1class Itcast(object): def __init__(self,subject1): self.subject1 = subject1 self.subject2 = 'cpp' #属性访问时拦截器,打log def __getattribute__(self,obj): #obj ...原创 2019-08-27 19:54:03 · 151 阅读 · 0 评论 -
pythonGC垃圾回收机制
GC垃圾回收机制GC的引用计数的缺点-循环引用import gcclass Test(object): def __init__(self): print("object born,id:%s"%str(hex(id(self))))def f2(): while True: c1 = Test() c2 = Test...原创 2019-08-27 19:49:31 · 267 阅读 · 0 评论 -
python元类
python元类动态创建类def test(name): if name == "Foo": class Foo(object): pass return Foo #反回的是类,不是类的实列 else: class Bar(object): pass ...原创 2019-08-27 19:46:10 · 79 阅读 · 0 评论 -
python类装饰器相关操作
python类装饰器相关操作对象调用自己必须-call方法class Test(object): def __call__(self): #类里面定义了这个方法 对象就可以调用自己了 print("----test1----")t = Test()t() #调用对象自己''' 类里面自动调用的方法有 __new__ ...原创 2019-08-27 19:43:16 · 70 阅读 · 0 评论 -
python动态语言的特性
python动态语言的特性给对象添加属性class Person(object): def __init__(self,new_name,new_age): self.name = new_name self.age = new_agelaowang = Person("老王",18)print(laowang.name)print(lao...原创 2019-08-27 14:23:11 · 171 阅读 · 0 评论 -
python作用域相关操作
python作用域相关操作LEGB#LEGB <===>locals(当前所在的命名空间(如函数.模块))-->enclosing(外部嵌套函数的命名空间(闭包中常见))--># global(全局变量)-->builtins(内建(python默认导入的一些功能))num = 100def test1(): num = 200 def...原创 2019-08-27 14:20:21 · 69 阅读 · 0 评论 -
python高级相关操作
python高级的相关操作模块的重新导入# test.py模块def test(): print("----1----") print("----2----") # 主文件import sys#这是模块的查找路径sys.path #这是个变量 是个列表 可以用列表的操作sys.path.append('/home') #添加模块的搜索路径print...原创 2019-08-27 13:35:51 · 278 阅读 · 0 评论 -
python生成器
生成器-1 a = (x*2 for x in range(10)) print(next(a)) #一次生成一个值 生成到最后一个的时候还调用next直接报错yield函数生成器-2 def creatNUM(): print("----start----") print("----1----") a,b = 0,1 for i...原创 2019-05-04 19:37:49 · 67 阅读 · 0 评论 -
python迭代器、闭包
迭代器 ''' 可迭代对象 以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如 list tuple dict set str等 一类是generator,包括生成器和带yield的generator function 这些都可以直接作用于for循环的对象统称为可迭代对象: lterable ...原创 2019-05-04 19:40:49 · 145 阅读 · 1 评论 -
用pdb调试python程序
pdb调试工具调试程序def getAverage(a,b): result = a + b print("result=%d"%result) return resulta = 100b = 200ret = getAverage(a,b)print(ret)调试bugimport pdbdef add3Nums(a1,a2,a3): ...原创 2019-08-27 20:11:04 · 263 阅读 · 0 评论