1.staticmethod 静态方法
class Foo: def __init__(self): pass def sa(x):#此处参数无self,就是个普通方法 print(x) spam=staticmethod(spam) #把spam函数做成静态方法Foo.sa()#类可以直接调用f=Foo()#也可以实例化调用f.sa()#等同于在普通函数上加装饰器class Foo: def __init__(self): pass @staticmethod #静态方法 def sa(x): print(’装饰器形式‘)
2.__import__ 动态模块导入
__import__('xx.xx')# 以字符串形式import模块。#推荐导入方式下面这种import importlibxxx=importlib.import_module('xx.xx')
3.all() 判断给定的所有迭代对象为True时返回True
4.enumerate(seq,index)遍历对象加索引,模式是0开始,可以设定index值1,从1开始
5.int(x,base=10) base 默认是10 也就是说10进制
#base传入值时x必须为字符串形式,base为当前字符串的进制,都是转换为10进制print(int('0x12',16)) # 16进制的0X12 转换为10进制print(int('10',8)) # 8进制的10 转换为10进制print(int('110',2))#2进制110 转换10进制
6.ord(c) 返回对应的 ASCII 数值
ord('a') #a 所对应的ASCII码97
7.chr(c)用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
#c可以是10进制或者16进制形式 >>>print chr(0x30), chr(0x31), chr(0x61) # 十六进制0 1 a>>> print chr(48), chr(49), chr(97) # 十进制0 1 a
8.hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。
>>>hex(255)'0xff'>>> hex(-42)'-0x2a'>>> hex(1L)'0x1L'>>> hex(12)'0xc'>>> type(hex(12))# 字符串
9.oct()函数将一个整数转换成8进制字符串。
>>>oct(10)'012'>>> oct(20)'024'>>> oct(15)'017'
10bin()返回一个整数 int 或者长整数 long int 的二进制表示。
11.eval() 函数用来执行一个字符串表达式,并返回表达式的值。
>>>x = 7>>> eval( '3 * x' )21>>> eval('pow(2,2)')4>>> eval('2 + 2')4>>> n=81>>> eval("n + 4")85
12.iter()函数用来生成迭代器。
13.super() 函数是用于调用父类(超类)的一个方法。
Python 3 可以使用直接使用 super().meth(x) 代替 super(Class, self).meth(x)
14.locals() 函数会以字典类型返回当前位置的全部局部变量。
def bar(arg): # 两个局部变量:arg、z z = 1 print (locals())bar(4){ 'z': 1, 'arg': 4} # 返回一个名字/值对的字典
15.reduce() 函数会对参数序列中元素进行累积。
def add(x, y) : # 两数相加 return x + y>>> reduce(add, [1,2,3,4,5]) # 计算列表和:1+2+3+4+515>>> reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函数15
16.property
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.")c=C()print(c.setx(10),c.getx(),c.delx()) #等同于使用@property
class C(object): def __init__(self): self._x = None @property def x(self): return self._x @x.setter def x(self,value): self._x = value @x.deleter def x(self): del self._x c=C() c.x=100 print(c.x)
17.sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
18.cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
19.map() 会根据提供的函数对指定序列做映射。
map(function, iterable,)def square(x) : # 计算平方数 return x ** 2 >>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方[1, 4, 9, 16, 25]>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数[1, 4, 9, 16, 25] # 提供了两个列表,对相同位置的列表数据进行相加>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])[3, 7, 11, 15, 19]
20.zip()将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
zip([迭代对象1],[迭代对象2],...) #可以有对个参数zip(*)反向解压>>>a = [1,2,3]>>> b = [4,5,6]>>> c = [4,5,6,7,8]>>> zipped = zip(a,b) # 打包为元组的列表[(1, 4), (2, 5), (3, 6)]>>> zip(a,c) # 元素个数与最短的列表一致[(1, 4), (2, 5), (3, 6)]>>> zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式[(1, 2, 3), (4, 5, 6)]
21.hash() 用于获取取一个对象(字符串或者数值等)的哈希值。
>>>hash('test') # 字符串2314058222102390712>>> hash(1) # 数字1>>> hash(str([1,2,3])) # 集合1335416675971793195>>> hash(str(sorted({ '1':1}))) # 字典7666464346782421378