常用内置函数
abs(x):判断数字x的绝对值或复数x的模 all(iterable):判断iterable中是否含有空元素 any(iterable):iterable中有一个非空元素则返回ture bin(x):把x转换为二进制 callable(object):测试对象是否可调用。类和函数是可调用的,包含__call__()方法的类的对象也可以调用。 compile():用于把代码编译成可被exec()或eval()函数执行的代码对象 dir(obj):返回指定对象obj或模块obj的成员列表 eval(s[,globals[,locals]]):计算并返回字符串s中表达式的值 exec(x):执行代码或代码对象x isinstance(object,class-or-type-or-tuple):判断object是否属于指定类型 list([x]),set([x]),tuple([x]),dict([x]):生成空列表,集合,元组,字典 pow(x,y):计算x的y次方 round(x[,小数位数】):对x进行四舍五入,若不规定小数位数,返回整数 sorted(iterable,key=None,reverse=False):返回排序后的列表,iterable表示要排序的列序或迭代对象,key用来指定排序规则或依据,reserve指定升序或降序。
其他:
max()函数还有key参数,如max([‘2’,‘111’],key=len)的值为111,返回长度最大的。
运算符与表达式
圆括号是明确和改变表达式运算顺序的利器 '+'除了算术加法,还有列表,元组,字符串的合并或连接,生成新对象
>>>3+(3+4j)
6+4j
>>>[1,2,3]+[4,5,6]
[1,2,3,4,5,6]
>>>(1,2,3)+(4,)
(1,2,3,4)
>>>'abcd'+'1234'
'abcd1234'
位运算符:只能用于整数
>>>3 << 2 #把3左移2位
12
>>>3 & 7 #位与运算
3
>>>3 | 8 #位或运算
11
>>>4 | 6
6
>>>3 ^ 5 #位异或运算
6
位运算符是将整数转换为二进制数,再运算 & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1 ^ 按位异或运算符:当两对应的二进位相异时,结果为1 ~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 << 左移动运算符:运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0。 @ 矩阵运算符
其他:
sys库里的read()和readline()函数接受从键盘输入的指定数量的字符
>>>import sys
>>>x = sys.stdin.read(5) #从缓冲区读取5个字符,超出截取前五个
asd
f
>>>x
'asd\nf'
>>>x = sys.stdin.readline() #从缓冲区读入字符,与换行符结束
bacd
>>>x
'abcd\n'
>>>x = sys.stdin.readline(13) #如果缓冲区内容少,就遇换行符结束,若多,就截取
asdfgh
>>>x
'asdfgh'
python标准库pprint还提供了更加友好的输出函数pprint(),若多与一行则会自动添加换行和缩进,例如:
>>>import pprint
>>>t = [[[['black','cyan'],'white',['green','red']],['magenta','yellow'],'blue']]]
>>>pprint.pprint(t) #默认 width = 80
[[[['black','cyan'],'white',['green','red']],
['magenta','yellow'],'blue']]]
>>>pprint.pprint(t,width=50)
[[[['black','cyan'],'white',['green','red']],
['magenta','yellow'],'blue']]]
>>>pprint.pprint(t,width=30)
[[[['black','cyan'],
'white',
['green','red']],
['magenta','yellow'],
'blue']]]
安装python扩展库
pip命令示例 说明 pip install Somepackage 安装Somepackage模块 pip list 列出当前已安装的所有模块 pip install——upgrade Somepackage 升级Somepackage模块 pip uninstall Somepackage 卸载Somepackage模块
模块的导入与使用
import 模块名 [as 别名] from 模块名 import 对象名 [as 别名]
编写自己的模块
__name__
属性自动设置为字符串__main__
def main():
if __name__ == '__main__':
print('This grogram is run directly.')
elif __name__ == 'hello':
print('This program is used as a module.')
main() #调用上面定义的函数
在IDLE中直接运行: This grogram is run directly. 交互模式下使用import hello 导入该模块: This program is used as a module.