1.staticmethod 静态方法
classFoo:def __init__(self):pass
def sa(x):#此处参数无self,就是个普通方法
print(x)
spam=staticmethod(spam) #把spam函数做成静态方法
Foo.sa()#类可以直接调用
f=Foo()#也可以实例化调用
f.sa()#等同于在普通函数上加装饰器
classFoo:def __init__(self):pass@staticmethod#静态方法
defsa(x):print(’装饰器形式‘)
2.__import__ 动态模块导入
__import__('xx.xx')#以字符串形式import模块。#推荐导入方式下面这种
importimportlib
xxx=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 1a>>> 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+5
15
>>> reduce(lambda x, y: x+y, [1,2,3,4,5]) #使用 lambda 匿名函数
15
16.property
classC(object):def __init__(self):
self._x=Nonedefgetx(self):returnself._xdefsetx(self, value):
self._x=valuedefdelx(self):delself._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