41.min()函数
''' 描述 min() 方法返回给定参数的最小值,参数可以为序列。 语法 以下是 min() 方法的语法: min( x, y, z, .... ) 参数 x -- 数值表达式。 y -- 数值表达式。 z -- 数值表达式。 返回值 返回给定参数的最小值。 ''' print ("min(80, 100, 1000) : ", min(80, 100, 1000)) print ("min(-20, 100, 400) : ", min(-20, 100, 400)) print ("min(-80, -20, -10) : ", min(-80, -20, -10)) print ("min(0, 100, -400) : ", min(0, 100, -400)) ''' 输出结果 min(80, 100, 1000) : 80 min(-20, 100, 400) : -20 min(-80, -20, -10) : -80 min(0, 100, -400) : -400 ''' #1.传入的多个参数的最小值 print(min(1,2,3,4)) #输出 1 #2.传入可迭代对象时,取其元素最小值 s='12345' print(min(s)) #输出 1 #3.传入命名参数key,其为一个函数,用来指定取最小值的方法 s = [ {'name': 'sumcet', 'age': 18}, {'name': 'bbu', 'age': 11} ] a = min(s, key=lambda x: x['age']) print(a) #输出 {'name': 'bbu', 'age': 11}
42.next()函数
''' 描述 next() 返回迭代器的下一个项目。 语法 next 语法: next(iterator[, default]) 参数说明: iterator -- 可迭代对象 default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。 返回值 返回对象帮助信息。 ''' # 首先获得Iterator对象: it = iter([1, 2, 3, 4, 5]) # 循环: while True: try: # 获得下一个值: x = next(it) print(x) except StopIteration: # 遇到StopIteration就退出循环 break a=iter('abcde') print(next(a)) #输出 a print(next(a)) #输出 b print(next(a)) #输出 c print(next(a)) #输出 d print(next(a)) #输出 e #print(next(a)) #报错 StopIteration #函数可以接收一个可选的default参数,传入default参数后, # 如果可迭代对象还有元素没有返回,则依次返回其元素值,如果所有元素已经返回, # 则返回default指定的默认值而不抛出StopIteration 异常。 print(next(a,'e')) #这次不报错了 返回 e 即default参数
43.oct() 函数
''' 描述 oct() 函数将一个整数转换成八进制字符串。 语法 oct 语法: oct(x) 参数说明: x -- 整数。 返回值 返回八进制字符串。 ''' print(oct(12)) #输出12的八进制 0o14 print(oct(-120)) #输出-12的二进制 -0o170 print(type(oct(12))) #输出oct(12) 的类型 <class 'str'> 所以不能直接计算 print(int(oct(10),base=8)+int(oct(15),base=8)) #输出 25 #base 参数不可为空 为空默认参数为10进制 会报错 ValueError: invalid literal for int() with base 10: '0b1010' #当然了,参数不仅可以接受十进制整数,八进制、十六进制也是可以的,只要是int型数据就合法。 print(oct(0b10010)) #输出0o22 print(oct(0o1357)) #输出0o1357 print(oct(0x2d9)) #输出0o1331
44.open() 函数
''' python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。 更多文件操作可参考:Python 文件I/O。 函数语法 open(name[, mode[, buffering]]) 参数说明: name : 一个包含了你要访问的文件名称的字符串值。 mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。 buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。 不同模式打开文件的完全列表: 模式 描述 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 file 对象方法 file.read([size]):size 未指定则返回整个文件,如果文件大小 >2 倍内存则有问题,f.read()读到文件尾时返回""(空字串)。 file.readline():返回一行。 file.readlines([size]) :返回包含size行的列表, size 未指定则返回全部行。 for line in f: print line :通过迭代器访问。 f.write("hello\n"):如果要写入字符串以外的数据,先将他转换为字符串。 f.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的比特数)。 f.seek(偏移量,[起始位置]):用来移动文件指针。 偏移量: 单位为比特,可正可负 起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾 f.close() 关闭文件 open(filename [, mode [, bufsize]]) 打开一个文件,返回一个file对象。 如果文件无法打开,将处罚IOError异常。 应该使用open()来代替直接使用file类型的构造函数打开文件。 参数filename表示将要被打开的文件的路径字符串; 参数mode表示打开的模式,最常用的模式有:'r'表示读文本,'w'表示写文本文件,'a'表示在文件中追加。 Mode的默认值是'r'。 当操作的是二进制文件时,只要在模式值上添加'b'。这样提高了程序的可移植性。 可选参数bufsize定义了文件缓冲区的大小。0表示不缓冲;1表示行缓冲;任何其他正数表示使用该大小的缓冲区; 负数表示使用系统默认缓冲区大小,对于tty设备它往往是行缓冲,而对于其他文件往往完全缓冲。如果参数值被省却。 使用系统默认值。 ''' f=open('1.txt','r',encoding='utf-8') print(f.read()) ''' 输出... ltf zhongguo shanxi yuncheng 男 20 '''
45.ord() 函数
''' 描述 ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。 语法 以下是 ord() 方法的语法: ord(c) 参数 c -- 字符。 返回值 返回值是对应的十进制整数。 ''' print(ord('a')) #输出97 print(ord('b')) #输出98 print(ord('c')) #输出99 print(ord(']')) #输出93 print(ord('8')) #输出56
46.pow()函数
''' 描述 pow() 方法返回 xy(x的y次方) 的值。 语法 以下是 math 模块 pow() 方法的语法: import math math.pow( x, y ) 内置的 pow() 方法 pow(x, y[, z]) 函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z 注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。 参数 x -- 数值表达式。 y -- 数值表达式。 z -- 数值表达式。 返回值 返回 xy(x的y次方) 的值。 ''' import math # 导入 math 模块 print("math.pow(100, 2) : ", math.pow(100, 2)) # 使用内置,查看输出结果区别 print("pow(100, 2) : ", pow(100, 2)) print("math.pow(100, -2) : ", math.pow(100, -2)) print("math.pow(2, 4) : ", math.pow(2, 4)) print("math.pow(3, 0) : ", math.pow(3, 0)) ''' 输出结果... math.pow(100, 2) : 10000.0 pow(100, 2) : 10000 math.pow(100, -2) : 0.0001 math.pow(2, 4) : 16.0 math.pow(3, 0) : 1.0 '''
47.property() 函数
''' 描述 property() 函数的作用是在新式类中返回属性值。 语法 以下是 property() 方法的语法: class property([fget[, fset[, fdel[, doc]]]]) 参数 fget -- 获取属性值的函数 fset -- 设置属性值的函数 fdel -- 删除属性值函数 doc -- 属性描述信息 返回值 返回新式类属性 ''' class C(object): def __init__(self): self._x = None def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del self._x x = property(getx, setx, delx, "I'm the 'x' property.") class Parrot(object): def __init__(self): self._voltage = 100000 #装饰器写法 @property def voltage(self): """Get the current voltage.""" return self._voltage class D(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x
48.range() 函数
''' python range() 函数可创建一个整数列表,一般用在 for 循环中。 函数语法 range(start, stop[, step]) 参数说明: start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5); stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1) ''' for i in range(10): print(i) #输出 从0-9 for i in range(0,11,2): print(i) #输出 0,2,4,6,8,10 for i in range(0,-10,-3): print(i) #输出 0,-3,-6,-9 list=[] for i in range(5,-5,-1): list.append(i) print(list) #输出 [5, 4, 3, 2, 1, 0, -1, -2, -3, -4] for i in 'ahfgohiauf': print(i) #依次输出字符
49.reduece()函数
''' 在python3中如果使用reduce需要先导入 from functools import reduce reduce函数,reduce函数会对参数序列中元素进行累积。 reduce函数的定义: reduce(function, sequence [, initial] ) -> value function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素, 和上一次调用function的结果做参数再次调用function。 第一次调用function时,如果提供initial参数, 会以sequence中的第一个元素和initial作为参数调用function, 否则会以序列sequence中的前两个元素做参数调用function。 ''' from functools import reduce lst=[1,2,3,4,5,6] def f(x,y): return x+y print(reduce(f,lst)) ''' 过程1+2+3+4+5+6=21 ''' print(reduce(lambda x,y:x*y,lst)) # 运行过程为1*2*3*4*5*6=720 #来个稍微复杂的 print(reduce(lambda x,y:x*y+1,lst)) ''' 运算步骤:1*2+1=3 3*3+1=10 10*4+1=41 41*5+1=206 206*6+1=1237 ''' #再说说有初始化值的情况, 这个时候就不是取列表的前两项, 而是取初始值为第一个, # 序列的第一个元素为第二个元素,开始进行lambda函数的应用计算. print(reduce(lambda x,y:x+y,lst,5)) ''' 计算步骤:5+1=6 6+2=8 8+3=11 11+4=15 15+5=20 20+6=26 '''
50.repr()函数
'''''' 描述 repr() 函数将对象转化为供解释器读取的形式。 语法 以下是 repr() 方法的语法: repr(object) 参数 object -- 对象。 返回值 返回一个对象的 string 格式。 ''' s='qwerasdf' print(s) #输出 qwerasdf print(repr(s)) #输出 'qwerasdf' dict={'a':1,'b':2} print(dict) #输出 {'a': 1, 'b': 2} print(repr(dict)) #输出 {'a': 1, 'b': 2} 没改变么 print(repr([0,1,2,3,4])) #输出 [0, 1, 2, 3, 4] print(repr('hello')) #输出 'hello' print(str(1.0/7.0)) #输出 0.14285714285714285 print(repr(1.0/7.0)) #输出 0.14285714285714285
51.reversed() 函数
''' 描述 reversed 函数返回一个反转的迭代器。 语法 以下是 reversed 的语法: reversed(seq) 参数 seq -- 要转换的序列,可以是 tuple, string, list 或 range。 返回值 返回一个反转的迭代器。 1 reversed(seq) 2 返回一个逆序的iterator对象。参数seq必须是一个包含__reversed__()方法的对象或支持序列操作(__len__()和__getitem__()) 3 该函数是2.4中新增的 ''' str='wasdqwer' print(list(reversed(str))) #输出 ['r', 'e', 'w', 'q', 'd', 's', 'a', 'w'] tuple=('r', 'e', 'w', 'q', 'd', 's', 'a', 'w') print(list(reversed(tuple))) #输出 ['w', 'a', 's', 'd', 'q', 'w', 'e', 'r'] seqRange = range(5, 9) print(list(reversed(seqRange))) #输出 [8, 7, 6, 5] seqList = [1, 2, 4, 3, 5] print(list(reversed(seqList))) #输出 [5, 3, 4, 2, 1] a=[1,2,3,4,5,6] b=reversed(a) print(b) #输出 <list_reverseiterator object at 0x0000023E2A448748> 显示为一个迭代器 print(list(b)) #输出 [6, 5, 4, 3, 2, 1] print(list(b)) #输出 [] #由此可知:reversed()返回的是一个迭代器对象,只能进行一次循环遍历。显示一次所包含的值!
52.round()函数
''' 描述 round() 方法返回浮点数x的四舍五入值。 语法 以下是 round() 方法的语法: round( x [, n] ) 参数 x -- 数字表达式。 n -- 表示从小数点位数,其中 x 需要四舍五入,默认值为 0。 返回值 返回浮点数x的四舍五入值。 ''' print ("round(70.23456) : ", round(70.23456)) print ("round(56.659,1) : ", round(56.659,1)) print ("round(80.264, 2) : ", round(80.264, 2)) print ("round(100.000056, 3) : ", round(100.000056, 3)) print ("round(-100.000056, 3) : ", round(-100.000056, 3)) ''' 输出结果... round(70.23456) : 70 round(56.659,1) : 56.7 round(80.264, 2) : 80.26 round(100.000056, 3) : 100.0 round(-100.000056, 3) : -100.0 '''
53.setattr()函数
''' 描述: setattr函数,用于设置属性值,该属性必须存在 语法: setattr(object,name,value) 参数: object--对象 name--字符串,对象属性 value--属性值 返回值: 无 ''' class People(): sex='男' def __init__(self,name): self.name=name def peopleinfo(self): print('欢迎%s访问'%self.name) obj=People('zhangsan') setattr(People,'x',123) print(People.x) #等同于 Peopel.x=123 setattr(obj,'age',18) print(obj.__dict__) #输出 {'name': 'zhangsan', 'age': 18} print(People.__dict__) #输出 #{'__module__': '__main__', 'sex': '男', '__init__': <function People.__init__ at 0x00000259A92752F0>, 'peopleinfo': <function People.peopleinfo at 0x00000259A9275378>, '__dict__': <attribute '__dict__' of 'People' objects>, '__weakref__': <attribute '__weakref__' of 'People' objects>, '__doc__': None, 'x': 123}
54.set() 函数
''' 描述 set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 语法 set 语法: class set([iterable]) 参数说明: iterable -- 可迭代对象对象; 返回值 返回新的集合对象。 ''' a=set('www.baidu.com') b=set('www.gogle.com') #重复的元素被删除 元素唯一 可以用来去重 print(a) #输出 {'u', '.', 'm', 'c', 'w', 'd', 'i', 'a', 'o', 'b'} print(b) #输出 {'.', 'm', 'e', 'c', 'w', 'o', 'l', 'g'} print(a&b) #交集 {'m', 'c', 'w', '.', 'o'} print(a|b) #并集 {'m', 'c', 'i', 'w', 'b', 'd', 'u', 'g', 'e', 'a', '.', 'o', 'l'} print(a-b) #差集 {'i', 'b', 'd', 'u', 'a'} #1.比较 se = {11, 22, 33} be = {22, 55} temp1 = se.difference(be) #找到se中存在,be中不存在的集合,返回新值 print(temp1) #{33, 11} print(se) #{33, 11, 22} temp2 = se.difference_update(be) #找到se中存在,be中不存在的集合,覆盖掉se print(temp2) #None print(se) #{33, 11}, #2.删除 se = {11, 22, 33} se.discard(11) se.discard(44) # 移除不存的元素不会报错 print(se) se = {11, 22, 33} se.remove(11) #se.remove(44) # 移除不存的元素会报错 print(se) se = {11, 22, 33} # 移除末尾元素并把移除的元素赋给新值 temp = se.pop() print(temp) # 33 print(se) # {11, 22} #3.取交集 se = {11, 22, 33} be = {22, 55} temp1 = se.intersection(be) #取交集,赋给新值 print(temp1) # 22 print(se) # {11, 22, 33} temp2 = se.intersection_update(be) #取交集并更新自己 print(temp2) # None print(se) # 22 #4.判断 se = {11, 22, 33} be = {22} print(se.isdisjoint(be)) #False,判断是否不存在交集(有交集False,无交集True) print(se.issubset(be)) #False,判断se是否是be的子集合 print(se.issuperset(be)) #True,判断se是否是be的父集合 #5.合并 se = {11, 22, 33} be = {22} temp1 = se.symmetric_difference(be) # 合并不同项,并赋新值 print(temp1) #{33, 11} print(se) #{33, 11, 22} temp2 = se.symmetric_difference_update(be) # 合并不同项,并更新自己 print(temp2) #None print(se) #{33, 11} #6.取并集 se = {11, 22, 33} be = {22,44,55} temp=se.union(be) #取并集,并赋新值 print(se) #{33, 11, 22} print(temp) #{33, 22, 55, 11, 44} #7.更新 se = {11, 22, 33} be = {22,44,55} se.update(be) # 把se和be合并,得出的值覆盖se print(se) se.update([66, 77]) # 可增加迭代项 print(se) #8.集合的转换 se = set(range(4)) li = list(se) tu = tuple(se) st = str(se) print(li,type(li)) #输出 [0, 1, 2, 3] <class 'list'> print(tu,type(tu)) #输出 [0, 1, 2, 3] <class 'tuple'> print(st,type(st)) #输出 [0, 1, 2, 3] <class 'str'>
55.slice() 函数
''' 描述 slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。 语法 slice 语法: class slice(stop) class slice(start, stop[, step]) 参数说明: start -- 起始位置 stop -- 结束位置 step -- 间距 返回值 返回一个切片对象。 实例 ''' myslice=slice(5) #设置一个 截取五个元素的切片 print(myslice) #输出 slice(None, 5, None) arr=list(range(10)) print(arr) #输出 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(arr[myslice]) #输出 [0, 1, 2, 3, 4] print(arr[3:6]) #输出 [3, 4, 5]
56.sorted() 函数
''' 描述 sorted() 函数对所有可迭代的对象进行排序操作。 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 语法 sorted 语法: sorted(iterable, key=None, reverse=False) 参数说明: iterable -- 可迭代对象。 key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。 返回值 返回重新排序的列表。 ''' print(sorted([2,3,4,1,5,6])) #输出 [1, 2, 3, 4, 5, 6] #另一个区别在于list.sort() 方法只为 list 定义。而 sorted() 函数可以接收任何的 iterable。 print(sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})) #输出 [1, 2, 3, 4, 5] #利用key进行倒序排序 example_list = [5, 0, 6, 1, 2, 7, 3, 4] result_list = sorted(example_list, key=lambda x: x*-1) print(result_list) #输出 [7, 6, 5, 4, 3, 2, 1, 0] #要进行反向排序,也通过传入第三个参数 reverse=True: example_list = [5, 0, 6, 1, 2, 7, 3, 4] result_list=sorted(example_list, reverse=True) print(result_list) #输出 [7, 6, 5, 4, 3, 2, 1, 0] #sorted 的应用,也可以通过 key 的值来进行数组/字典的排序,比如 array = [{"age":20,"name":"a"},{"age":25,"name":"b"},{"age":10,"name":"c"}] array = sorted(array,key=lambda x:x["age"]) print(array) #输出 [{'age': 10, 'name': 'c'}, {'age': 20, 'name': 'a'}, {'age': 25, 'name': 'b'}]
57.staticmethod()函数
''' python staticmethod 返回函数的静态方法。 该方法不强制要求传递参数,如下声明一个静态方法: class C(object): @staticmethod def f(arg1, arg2, ...): ... 以上实例声明了静态方法 f,类可以不用实例化就可以调用该方法 C.f(),当然也可以实例化后调用 C().f()。 函数语法 staticmethod(function) 参数说明: 无 ''' class C(object): @staticmethod def f(): print('hello world') C.f() # 静态方法无需实例化 cobj = C() cobj.f() # 也可以实例化后调用 class A(object): def foo(self, x): print("executing foo(%s,%s)" % (self, x)) print('self:', self) @classmethod def class_foo(cls, x): print("executing class_foo(%s,%s)" % (cls, x)) print('cls:', cls) @staticmethod def static_foo(x): print("executing static_foo(%s)" % x) a = A() print(a.foo) #输出 <bound method A.foo of <__main__.A object at 0x000001B5B2A51D30>> print(a.class_foo) #输出 <bound method A.class_foo of <class '__main__.A'>> print(a.static_foo) #输出 <function A.static_foo at 0x000001B5B2A55598>
58.str() 函数
''' 描述 str() 函数将对象转化为适于人阅读的形式。 语法 以下是 str() 方法的语法: class str(object='') 参数 object -- 对象。 返回值 返回一个对象的string格式。 ''' print(str(1)) #输出 字符串1 print(type(str(1))) #输出 <class 'str'> print(str(b'\xe5\xbc\xa0\xe4\xb8\x89',encoding='utf-8')) #输出张三 dict={'zhangsan':'zhang1234','lisi':'li1234'} print(type(dict)) #输出 <class 'dict'> a=str(dict) print(str(dict)) #输出 字符串 {'zhangsan': 'zhang1234', 'lisi': 'li1234'} print(type(a)) #输出 <class 'str'>
59.sum()函数
''' 描述 sum() 方法对系列进行求和计算。 语法 以下是 sum() 方法的语法: sum(iterable[, start]) 参数 iterable -- 可迭代对象,如:列表、元组、集合。 start -- 指定相加的参数,如果没有设置这个值,默认为0。 返回值 返回计算结果 ''' print(sum([0,1,2])) # 列表总和 3 print(sum((2,3,4),1)) # 元组计算总和后再加 1 print(sum([2,3,4,5,6],8)) # 列表计算总和后再加 2 a = list(range(1,11)) b = list(range(1,10)) c = sum([item for item in a if item in b]) print(c) #输出 45
60.vars() 函数
''' 描述 vars() 函数返回对象object的属性和属性值的字典对象。 语法 vars() 函数语法: vars([object]) 参数 object -- 对象 返回值 返回对象object的属性和属性值的字典对象,如果没有参数,就打印当前调用位置的属性和属性值 类似 locals()。 ''' print(vars()) #输出 {'__name__': '__main__', '__doc__': '\n描述\nvars() 函数返回对象object的属性和属性值的字典对象。\n语法\nvars() 函数语法:\nvars([object])\n参数\nob class A: a=1 __dict__ = 'ltf' print(vars(A)) #输出 {'__module__': '__main__', 'a': 1, '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None} a=A() print(vars(a)) #输出 ltf print(a.__dict__) #输出 ltf
61.zip()函数
#zip函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple,然后返回一个可迭代的zip对象. #这个可迭代对象可以使用循环的方式列出其元素 #若多个可迭代对象的长度不一致,则所返回的列表与长度最短的可迭代对象相同. #1.用列表生成zip对象 x=[1,2,3] y=[4,5,6] z=[7,8,9] h=['a','b','c','d'] zip1=zip(x,y,z) print(zip1) for i in zip1: print(i) zip2=zip(x,y,h) for i in zip2: print(i) zip3=zip(h) for i in zip3: print(i) zip4=zip(*h*3) for i in zip4: print(i) #这是干啥哟。。 print('==*=='*10) #2.二维矩阵变换 l1=[[1,2,3],[4,5,6],[7,8,9]] print(l1) print([[j[i] for j in l1] for i in range(len(l1[0])) ]) zip5=zip(*l1) for i in zip5: print(i)