本篇主要内容:内置函数
函数
参考:https://docs.python.org/3.5/library/functions.html
内置函数列表
一、数学运算类
abs(x)求绝对值
>>> abs(-)
complex([real[, imag]])创建一个复数
>>> complex()
(+0j)
>>>
divmod(a, b)分别取商和余数注意:整型、浮点型都可以
>>> divmod(,)
(, )
float([x])将一个字符串或数转换为浮点数。如果无参数将返回0.0
>>> float("3.2")
3.2
int([x[, base]])将一个字符转换为int类型,base表示进制
>>> int("", base=)
pow(x, y[, z])返回x的y次幂
>>> pow(,,) >>> pow(,,) # 8的2次方整除10的余数
range([start], stop[, step])产生一个序列,默认从0开始
>>> for i in range(): #默认输出
... print(i)
... >>>
>>> for i in range(,): #指定起始值
... print(i)
... >>>
>>> for i in range(,,): #指定起始值和步进长度
... print(i)
... >>>
round(x[, n])四舍五入
>>> round(1.1) >>> round(1.5)
sum(iterable[, start])对集合求和
>>> sum([,,,,])
oct(x)将一个数字转化为8进制
>>> oct()
'0o12'
hex(x)将整数x转换为16进制字符串
>>> hex()
'0x1a'
chr(i)返回整数i对应的ASCII字符
>>> chr()
'A'
bin(x)将整数x转换为二进制字符串
>>> bin()
'0b10000000000'
bool([x])将x转换为Boolean类型
>>> bool([]) # 空列表
False
>>> bool(()) # 空元组
False
>>> bool({}) # 空字典
False
>>> bool(-)
True
>>> bool()
False
>>> bool()
True
>>>
二、集合操作类
format(value [, format_spec]) 格式化输出字符串格式化的参数顺序从0开始,如“I am {0},I like {1}”
>>> print('We are the {} who say "{}!"'.format('guys', 'Hi'))
We are the guys who say "Hi!"
enumerate(sequence [, start = 0]) 返回一个可枚举的对象,该对象的next()方法将返回一个tuple
t = (,,,,,)
for i in enumerate(t): # enumerate() 为可迭代的对象添加序号,默认从0开始
print(i) (, )
(, )
(, )
(, )
(, )
(, )
iter(o[, sentinel]) 生成一个对象的迭代器,第二个参数表示分隔符
>>> s = 'abc'
>>> it = iter(s)
>>> it
<iterator object at 0x00A1DB50>
>>> next(it)
'a'
>>> next(it)
'b'
>>> next(it)
'c'
>>> next(it)
Traceback (most recent call last):
File "<stdin>", line , in ?
next(it)
StopIteration
max(iterable[, args...][key]) 返回集合中的最大值
>>> max([,,,,])
min(iterable[, args...][key]) 返回集合中的最小值
>>> min([,,,,])
dict([arg]) 创建数据字典
>>> dict([('sape', ), ('guido', ), ('jack', )])
{'sape': , 'jack': , 'guido': }
list([iterable]) 将一个集合类转换为另外一个集合类
>>> t = (,,,,)
>>> type(t)
<class 'tuple'>
>>> li = list(t)
>>> li
[, , , , ]
>>> type(li)
<class 'list'>
>>>
set() set对象实例化
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a # a中不重复的元素
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # a中存在b没有的
{'r', 'd', 'b'}
>>> a | b # a和b全部的元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # a中存在且b中存在
{'a', 'c'}
>>> a ^ b # 非(a中存在且b中存在)
{'r', 'd', 'b', 'm', 'z', 'l'}
frozenset([iterable]) 产生一个不可变的set
>>> se = set("a,b,c,d,e,f")
>>> se
{'a', 'd', 'f', 'b', 'c', 'e', ','}
>>> fse = frozenset(se)
>>> fse
frozenset({'b', 'c', 'e', 'd', ',', 'a', 'f'})
>>> fse
frozenset({'b', 'c', 'e', 'd', ',', 'a', 'f'})
>>>
str([object]) 转换为string类型
>>> s = str("abc123")
>>> s
'abc123'
>>> type(s)
<class 'str'>
sorted(iterable[, cmp[, key[, reverse]]]) 队集合排序
>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
>>> for f in sorted(set(basket)):
... print(f)
...
apple
banana
orange
pear
tuple([iterable]) 生成一个tuple类型
>>> li = ["Hello","World"]
>>> li
['Hello', 'World']
>>> tuple(li)
('Hello', 'World')
>>> t = tuple(li)
>>> t
('Hello', 'World')
>>> type(t)
<class 'tuple'>
>>>
三、逻辑判断类
all(iterable) 集合中的元素都为真的时候为真;特别的,若为空串返回为True
>>> all([,,-])
True
>>> all([,,])
False
>>> all([,,[]])
False
>>> all([,,{}])
False
any(iterable) 集合中的元素有一个为真的时候为真;特别的,若为空串返回为False
>>> any([,{},[],])
True
四、反射
eval(expression [, globals [, locals]]) 计算表达式expression的值
>>> eval("2 + 3 * 5 + 1 - 2") >>>
exec() 执行一个存储在字符串或者文件中的python语句
>>> exec 'print "Hello World"'
Hello World
filter(function, iterable) 构造一个序列,等价于[ item for item in iterable if function(item)]
参数function:返回值为True或False的函数,可以为None
参数iterable:序列或可迭代对象
# filter函数
def f1(x):
if x > :
return True
else:
return False
ret = filter(f1, [,,,])
for i in ret:
print(i)
getattr(object, name [, defalut]) 获取一个类的属性
globals() 返回一个描述当前全局符号表的字典
hasattr(object, name) 判断对象object是否包含名为name的特性
hash(object) 如果对象object为哈希表类型,返回对象object的哈希值
id(object) 返回对象的唯一标识
>>> s = "Hello"
>>> id(s)
isinstance(object, classinfo) 判断object是否是class的实例
>>> isinstance(s, str)
True
issubclass(class, classinfo) 判断是否是子类
len(s) 返回集合长度
>>> len(s)
locals() 返回当前的变量列表
map(function, iterable, ...) 遍历每个元素,执行function操作
ret = map(lambda y: y > , [, , ])
for i in ret:
print(i)
next(iterator[, default]) 迭代出下一个元素
object() 基类
reload(module) 重新加载模块
setattr(object, name, value) 设置属性值
repr(object) 将一个对象变幻为可打印的格式
slice()
staticmethod 声明静态方法,是个注解
super(type[, object-or-type]) 引用父类
type(object) 返回该object的类型
>>> s = "Hello"
>>> type(s)
<class 'str'>
vars([object]) 返回对象的变量
bytearray([source [, encoding [, errors]]]) 返回一个byte数组
如果source为整数,则返回一个长度为source的初始化数组;
如果source为字符串,则按照指定的encoding将字符串转换为字节序列;
如果source为可迭代类型,则元素必须为[0 ,255]中的整数;
如果source为与buffer接口一致的对象,则此对象也可以被用于初始化bytearray.
s = "12dffgggggh"
print(bytearray(s, encoding="utf-8"))
bytearray(b'12dffgggggh')
zip([iterable, ...]) 矩阵
name = ['alex','eric']
age = [,]
result = zip(name,age)
for i in result:
print(i) #执行结果
('alex', )
('eric', )
五、IO操作
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
打开文件
参数filename:文件名称。
参数mode:'r'(读)、'w'(写)、'a'(追加)。
# 只读
f = open("log", "r") # 只写模式(不可读:文件不存在则创建;存在则清空内容)
f = open("log", "w") # 只写模式(不可读,文件不存在则创建,存在则报错)
f = open("log", "x") # 追加模式(不存在则创建;存在则只追加内容)
f = open("log", "s")
input([prompt]) 获取用户输入
inp = input("请输入图书编号")
print 打印函数
print("请输入图书编号")
六、其他
dir 用于按模块名搜索模块定义,它返回一个字符串类型的存储列表
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__'
, '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__'
, '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__'
, '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_e
x__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__s
izeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'ex
tend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__'
, '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__'
, '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__'
, '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_e
x__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__s
izeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'ex
tend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
help 调用内置函数的帮助系统
>>> 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
...
...
...