| 简单内置函数 | 作用 | 例子 |
|---|---|---|
| iter() | 用来生成迭代器 | for i in iter([1,2,3]) |
| divmod(被除数,除数) | 也可用作处理复数,返回元组(商,余数) | divmod(7, 2) (3, 1) |
| input() | 接受一个标准输入数据,返回为 string 类型。 | |
| eval(expression[, globals[, locals]]) | 用来执行一个字符串表达式,并返回表达式的值。 | x = 7 eval( ‘3 * x’ ) 21 |
| execfile(filename[, globals[, locals]]) | 用来执行一个文件 | execfile(‘hello.py’) |
| repr() | 函数将对象转化为供解释器读取的形式 | |
| open(name[, mode[, buffering]]) | 用于打开一个文件,创建一个 file 对象 | |
| enumerate(sequence, [start=0]) | 将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标 | |
| ord() | 以一个字符作为参数,返回对应的 ASCII 数值,或者 Unicode 数值 | ord(‘a’) 97 |
| isinstance(object, classinfo) | 判断一个对象是否是一个已知的类型,类似 type() | |
| pow(x, y[, z]) | 计算 x 的 y 次方,如果 z 在存在,则再对结果进行取模,其结果等效于 pow(x,y) %z | |
| issubclass(class, classinfo) | 用于判断参数 class 是否是类型参数 classinfo 的子类 | |
| super() | 用于调用父类(超类)的一个方法 | |
| bin() | 返回一个整数 int 或者长整数 long int 的二进制表示 | |
| property() | 函数的作用是在新式类中返回属性值 | |
| filter(function, iterable) | 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的迭代器对象。 | filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |
| callable() | 函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。 | |
| format() | 格式化字符串的函数 str.format(),它增强了字符串格式化的功能 {}字符格式化 :数字格式化 | “{0} {1} {1}”.format(“hello”, “world”) “{:.2f}”.format(3.1415926) 3.14 |
| locals() | 函数会以字典类型返回当前位置的全部局部变量。 | |
| chr() | 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符 | |
| frozenset() | 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素 | frozenset(range(10)) |
| vars([object]) | 函数返回对象object的属性和属性值的字典对象。 | |
| getattr(object, name[, default]) | 函数用于返回一个对象属性值 | |
| hasattr() | 函数用于判断对象是否包含对应的属性 | |
| delattr(object, name) | 函数用于删除属性。 | |
| map(function, iterable, …) | 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的迭代器。 | map(square, [1,2,3,4,5]) [1,4,9,16,25] |
| globals() | 函数会以字典类型返回当前位置的全部全局变量。包括所有导入的变量 | |
| reverse() | 函数用于反向列表中元素。 | list.reverse()| |
| zip() | 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。 | |
| compile() | 函数将一个字符串编译为字节代码 | |
| memoryview() | 函数返回给定参数的内存查看对象(memory view)。 | |
| round() | 方法返回浮点数x的四舍五入值。 | |
| __import__(name[, globals[, locals[, fromlist[, level]]]]) | 函数用于动态加载类和函数 。返回元组列表。一般业务逻辑中不建议直接使用_import_,而是采用importlib的import_module函数来代替,因为__import__在加载子模块时比较诡异。 | |
| complex([real[, imag]]) | 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数 | |
| hash() | 用于获取取一个对象(字符串或者数值等)的哈希值 | |
| set() | 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 | |
| next() | 返回迭代器的下一个项目。要和生成迭代器的 iter() 函数一起使用。 | |
| hex() | 函数用于将10进制整数转换成16进制,以字符串形式表示。 | |
| slice() | 函数实现切片对象,主要用在切片操作函数里的参数传递。 | |
| id() | 函数返回对象的唯一标识符,标识符是一个整数。 |
| 函数 | 描述 |
|---|---|
| choice(seq) | 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
| [randrange (start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1 |
| random() | 随机生成下一个实数,它在[0,1)范围内。 |
| [seed(x]) | 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
| shuffle(lst) | 将序列的所有元素随机排序 |
| uniform(x, y) | 随机生成下一个实数,它在[x,y]范围内。 |
参数:各个迭代器对象
返回一个zip对象
enumerate(sequence, [start=0])于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) # 下标从 1 开始 [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]map(func, *iterables)–>map object
map()它接收一个函数 f 和一个 可迭代对象(这里理解成 list),并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回
def f(x):
return x*x
# 求平方
print(list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))
isinstance(object, classinfo)
isinstance() 函数来判断一个对象是否是一个已知的类型
-
classinfo参数 可取int,float,bool,complex,str(字符串),list,dict(字典),set,tuple
-
类似 type()
sorted()isinstance() 与 type() 区别:
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()
sorted() 函数对所有可迭代的对象进行排序操作
input()sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
- list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
int(x, base=10)函数用于将一个字符串或数字转换为十进制的整型
- base 进制数,默认十进制,表示输入的字符串的进制,输入为数字的话则不能有该参数
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。Python3 中返回到是一个 filter 类
序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
getattr(object, name[, default])返回一个对象属性值。(包括变量,类变量,方法,类方法)
>>> class A: bar = 1 >>> getattr(A,'bar') 9 >>> getattr(A,'bar2','nothisattr') 'nothisattr'
>>> class A:
def exchange(self, a, b):
x = a
a = b
b = x
print a, b
>>> a = A()
>>> a_exchange = getattr(a,'exchange')
>>> a_exchange(5, 0)
0 5
setattr(object, name, value)
设置对象的属性值,该属性不一定是存在的(不存在则自动新增该属性和设置其值)
>>> class A: bar = 1 >>> setattr(A,'bar',9) >>> A.bar 9 >>> setattr(A,'b',9) >>> A.bar 9 >>> A.b 9 >>> help(A) Help on class A in module __main__: class A(builtins.object) | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | b = 9 | | bar = 9 >>>vars([object])
参数:一个对象,缺省类似locals()
返回:该对象的属性与属性值的字典对象。
vars(list)
mappingproxy({'__repr__': , '__hash__': None, '__getattribute__': , '__lt__': , '__le__': , '__eq__': , '__ne__': , '__gt__': , '__ge__': , '__iter__': , '__init__': , '__len__': , '__getitem__': , '__setitem__': , '__delitem__': , '__add__': , '__mul__': , '__rmul__': , '__contains__': , '__iadd__': , '__imul__': , '__new__': , '__reversed__': , '__sizeof__': , 'clear': , 'copy': , 'append': , 'insert': , 'extend': , 'pop': , 'remove': , 'index': , 'count': , 'reverse': , 'sort': , '__doc__': "list() -> new empty listnlist(iterable) -> new list initialized from iterable's items"})
vars()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': , '__spec__': None, '__annotations__': {}, '__builtins__': }
help([object])
返回对象帮助信息,object – 对象
help(list) Help on class list in module builtins: class list(object) | list() -> new empty list | list(iterable) -> new list initialized from iterable's items | | Methods defined here: | | __add__(self, value, /) | Return self+value. | ........... | sort(...) | L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE* | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __hash__ = Noneany(iterable)
用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
all(iterable)all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
- 元素除了是 0、空、None、False 外都算 True。
类似函数:
def all(iterable):
for element in iterable:
if not element:
return False
return True
继承
issubclass(class, classinfo)
用于判断参数 class 是否是类型参数 classinfo 的子类。
super(type[, object-or-type])super() 函数是用于调用父类(超类)的一个方法。
super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。
MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。



