内置函数 | ||||
---|---|---|---|---|
abs() | divmod() | input() | open() | staticmethod() |
all() | enumerate() | int() | ord() | str() |
any() | eval() | isinstance() | pow() | sum() |
basestring() | execfile() | issubclass() | print() | super() |
bin() | file() | iter() | property() | tuple() |
bool() | filter() | len() | range() | type() |
bytearray() | float() | list() | raw_input() | unichr() |
callable() | format() | locals() | reduce() | unicode() |
chr() | frozenset() | long() | reload() | vars() |
classmethod() | getattr() | map() | repr() | xrange() |
cmp() | globals() | max() | reverse() | zip() |
compile() | hasattr() | memoryview() | round() | __import__() |
complex() | hash() | min() | set() | |
delattr() | help() | next() | setattr() | |
dict() | hex() | objcet() | slice() | |
dir() | id() | oct() | sorted() | exce 内置表达式 |
-
1 abs()
返回数字的绝对值
abs(-45) # 45
abs(1.1) # 1.1
abs(110L) # 110
-
2 all()
用于判断给定的可迭代对象iterable中的所有元素是否都为True,如果是返回True,否则返回False
# 函数等价于
def all(iterable):
for element in iterable:
if not element:
return False
return True
-
3 any()
用于判断给定的可迭代对象iterable是否全为False,如果是返回False,如果有一个为True,则返回True
# 函数等价于
def all(iterable):
for element in iterable:
if element:
return True
return False
-
4 basestring()
是str和unicode的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为str或者unicode的实例
# 以下两个语句等价
isinstance(obj, basestring)
isinstance(obj, (str, unicode))
-
5 bin()
返回一个整数int或者长整数long int的二进制表示
bin(10) # 返回字符串 '0b1010'
-
6 bool()
用户将给定参数转换为布尔类型,如果没有参数,返回False。bool是int的子类。 -
7 bytearray()
返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围 0<=x<=256
# 创建bytearray对象的方法规则
bytearray()
bytearray(b'')
bytearray(6)
bytearray('hello', encoding="utf-8")
-
8 callable()
用于检查一个对象是否可调用。如果返回True,object仍然可能调用失败;但如果返回False,调用对象object一定不会成功。
对于函数,方法,lambda函数,类以及实现了call方法的类实例,都返回True -
9 chr()
用一个范围在0~255的整数做参数,返回一个对应的字符
>>> chr(48) # "0"
>>> chr(0x30) # "0"
-
10 classmethod()
修饰类中的方法,被修饰的方法不需要self参数,但第一个参数需要时表示自身类的cls参数,可以来调用类的属性,类的方法,实例化对象等。 -
11 cmp() (仅python2)
cmp(x, y) , 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 -
12 compile()
将一个字符串编译为字节代码
>>>str = "for i in range(0,10): print(i)"
>>> c = compile(str,'','exec') # 编译为字节代码对象
>>> c
<code object <module> at 0x10141e0b0, file "", line 1>
>>> exec(c)
0
1
2
3
4
5
6
7
8
9
-
13 complex()
用于创建一个值为real+imag*j的复数或者转化一个字符串或数字为复数。如果第一个参数为字符串,则不需要指定第二个参数。
>>>complex(1, 2)
(1 + 2j)
>>> complex(1) # 数字
(1 + 0j)
>>> complex("1") # 当做字符串处理
(1 + 0j)
# 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
>>> complex("1+2j")
(1 + 2j)
-
14 delattr()
用于删除属性。delattr(x, 'foobar') 相等于 del x.foobar。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
class Coordinate:
x = 10
y = -5
z = 0
point1 = Coordinate()
print('x = ',point1.x)
print('y = ',point1.y)
print('z = ',point1.z)
delattr(Coordinate, 'z')
print('--删除 z 属性后--')
print('x = ',point1.x)
print('y = ',point1.y)
# 触发错误
print('z = ',point1.z)
-
15 dict()
创建一个字典
>>>dict() # 创建空字典
{}
>>> dict(a='a', b='b', t='t') # 传入关键字
{'a': 'a', 'b': 'b', 't': 't'}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
-
16 dir()
不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法dir(),该方法将被调用。如果参数不包含dir(),该方法将最大限度地收集参数信息。 -
17 divmod()
把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。在 python 2.3 版本之前不允许处理复数。
>>>divmod(7, 2)
(3, 1)
>>> divmod(8, 2)
(4, 0)
>>> divmod(1+2j,1+0.5j)
((1+0j), 1.5j)
-
18 enumerate()
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。
>>>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')]
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
... print i, element
...
0 one
1 two
2 three
-
19 eval()
用来执行一个字符串表达式,并返回表达式的值。
>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85
-
20 execfile() (仅python2)
用来执行一个python文件 -
21 file()
用于创建一个 file 对象,它有一个别名叫 open() 更形象一些,它们是内置函数。参数是以字符串的形式传递的。
>>>f = file('test.txt')
>>>f.read()
-
22 filter()
用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接受两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回返回True或False,最后将返回True的元素放到新列表中
(注意:python2.7返回列表,Python3.x返回迭代器对象) -
23 float()
用于将整数和字符串转换成浮点数。
>>>float(1)
1.0
>>> float(112)
112.0
>>> float(-123.6)
-123.6
>>> float('123') # 字符串
123.0
-
24 format()
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
>>> "{hello} {name}".format(hello="Hello", name="China") # 设置参数
'Hello China'
-
25 frozenset()
返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
>>>a = frozenset(range(10)) # 生成一个新的不可变集合
>>> a
frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b = frozenset('runoob')
>>> b
frozenset(['b', 'r', 'u', 'o', 'n']) # 创建不可变集合
-
26 getattr()
用于返回一个对象属性值。
>>>class A(object):
... bar = 1
...
>>> a = A()
>>> getattr(a, 'bar') # 获取属性 bar 值
1
>>> getattr(a, 'bar2') # 属性 bar2 不存在,触发异常
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'A' object has no attribute 'bar2'
>>> getattr(a, 'bar2', 3) # 属性 bar2 不存在,但设置了默认值
3
-
27 globals()
会以字典类型返回当前位置的全部全局变量
>>>a='runoob'
>>> print(globals()) # globals 函数返回一个全局变量的字典,包括所有导入的变量。
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None, 'a': 'runoob', '__package__': None}
-
28 hasattr()
用于判断对象是否包含对应的属性。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
class Coordinate:
x = 10
y = -5
z = 0
point1 = Coordinate()
print(hasattr(point1, 'x')) # True
print(hasattr(point1, 'y')) # True
print(hasattr(point1, 'z')) # True
print(hasattr(point1, 'no')) # False
-
29 hash()
用于获取取一个对象(字符串或者数值等)的哈希值。
>>>hash('test') # 字符串
2314058222102390712
>>> hash(1) # 数字
1
>>> hash(str([1,2,3])) # 集合
1335416675971793195
>>> hash(str(sorted({'1':1}))) # 字典
7666464346782421378
-
30 help()
用于查看函数或模块用途的详细说明。 -
31 hex()
用于将10进制整数转换成16进制,以字符串形式表示。
>>>hex(255)
'0xff'
>>> hex(-42)
'-0x2a'
>>> hex(1L)
'0x1L'
>>> hex(12)
'0xc'
>>> type(hex(12))
<class 'str'> # 字符串
-
32 id()
用于获取对象的内存地址。 -
33 input()
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。
raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float ) -
34 int()
用于将一个字符串或数字转换为整型
>>>int() # 不传入参数时,得到结果0
0
>>> int(3)
3
>>> int(3.6)
3
>>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
18
>>> int('0xa',16)
10
>>> int('10',8)
8
-
35 isinstance()
判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
- 如果要判断两个类型是否相同推荐使用 isinstance()。
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True
True
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
-
36 issubclass()
issubclass(class, classinfo) 判断参数 class 是否是类型参数 classinfo 的子类。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
class A:
pass
class B(A):
pass
print(issubclass(B,A)) # 返回 True
-
37 iter()
函数用来生成迭代器。 -
38 len()
返回对象(字符、列表、元组等)长度或项目个数。 -
39 list()
用于将元组转换为列表。 -
40 locals()
以字典类型返回当前位置的全部局部变量。 -
41 long()
将数字或字符串转换为一个长整型。 -
42 map()
根据提供的函数对指定序列做映射。python2返回新列表,python3返回一个迭代器 -
43 max()
返回给定参数的最大值,参数可以为序列。 -
44 memoryview()
返回给定参数的内存查看对象(Momory view)。 -
45 min()
定参数的最小值,参数可以为序列。 -
46 next()
返回迭代器的下一个项目。 -
47 oct()
将一个整数转换成8进制字符串。 -
48 open()
打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。 -
49 ord()
ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
>>>ord('a')
97
>>> ord('b')
98
>>> ord('c')
99
-
50 pow()
方法返回x的y次方的值。 -
51 print()
方法用于打印输出,最常见的一个函数。
语法:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
>>>print(1)
1
>>> print("Hello World")
Hello World
>>> a = 1
>>> b = 'runoob'
>>> print(a,b)
1 runoob
>>> print("aaa""bbb")
aaabbb
>>> print("aaa","bbb")
aaa bbb
>>>
>>> print("www","runoob","com",sep=".") # 设置间隔符
www.runoob.com
import time
print("---RUNOOB EXAMPLE : Loading 效果---")
print("Loading",end = "")
for i in range(20):
print(".",end = '',flush = True)
time.sleep(0.5)
-
52 property()
property() 函数的作用是在新式类中返回属性值。
语法:class property([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.")
# 将 property 函数用作装饰器可以很方便的创建只读属性:
class Parrot(object):
def __init__(self):
self._voltage = 100000
@property
def voltage(self):
"""Get the current voltage."""
return self._voltage
#上面的代码将 voltage() 方法转化成同名只读属性的 getter 方法。
#property 的 getter,setter 和 deleter 方法同样可以用作装饰器:
class C(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
-
53 range()
range() 函数可创建一个整数列表,一般用在 for 循环中。
python3中返回迭代器 -
54 reduce()
python2内置函数,python3已经移除。
reduce() 函数会对参数序列中元素进行累积。
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。 -
55 reload()
python2中用于重新载入之前载入的模块。python3已经移除。 -
56 repr()
将对象转化为供解释器读取的形式。 -
57 reverse()
用于反转列表中元素。
#!/usr/bin/python
aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.reverse()
print "List : ", aList
# List : ['xyz', 'abc', 'zara', 'xyz', 123]
-
58 round()
返回浮点数x的四舍五入值。 -
59 set()
创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 -
60 setatrr()
对应函数 getattr,用于设置属性值,该属性不一定是存在的。
>>>class A(object):
... bar = 1
...
>>> a = A()
>>> getattr(a, 'bar') # 获取属性 bar 值
1
>>> setattr(a, 'bar', 5) # 设置属性 bar 值
>>> a.bar
5
-
61 slice()
实现切片对象,主要用在切片操作函数里的参数传递。
>>> myslice = slice(5) # 设置截取5个元素的切片
>>> myslice
slice(None, 5, None)
>>> arr = range(10)
>>> arr
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> arr[myslice] # 截取 5 个元素
[0, 1, 2, 3, 4]
>>>
-
62 sorted()
对所有可迭代的对象进行排序操作。 -
63 staticmethod()
返回函数的静态方法。 -
64 str()
将对象转化为适于人阅读的形式。 -
65 sum()
对序列进行求和计算 -
66 super()
用于调用父类(超类)的一个方法。 -
67 tupe()
元组 tuple() 函数将列表转换为元组。
>>>tuple([1,2,3,4])
(1, 2, 3, 4)
>>> tuple({1:2,3:4}) #针对字典 会返回字典的key组成的tuple
(1, 3)
>>> tuple((1,2,3,4)) #元组会返回元组自身
(1, 2, 3, 4)
-
68 type()
如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。 -
69 unichr()
unichr() 函数 和 chr()函数功能基本一样, 只不过是返回 unicode 的字符。 -
70 xrange()
python2 xrange() 返回一个生成器。python3已经移除 -
71 zip()
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换 -
72 exec()
exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。
>>>exec 'print "Hello World"'
Hello World
# 单行语句字符串
>>> exec "print 'runoob.com'"
runoob.com
# 多行语句字符串
>>> exec """for i in range(5):
... print "iter time: %d" % i
... """
iter time: 0
iter time: 1
iter time: 2
iter time: 3
iter time: 4
网友评论