1,常用内置函数
求绝对值abs(参数)
求最大值max(参数1,参数2,。。。)
求最小值min(参数1,参数2,。。。)
数据类型转换
输入:int('123.45')
输出:123
输入:float('12.34')
输出:12.34
输入:str(1.23)
输出:'1.23'
输入:bool(1)
输出:true
另外可以把函数名赋值给一个变量,相当于给函数起了一个别名
输入:a=abs;
输入:a(-1)
输出:1
2,自定义函数
格式:
输入:def my_sum(x,y): return x+y;
输入:my_sum(1,2)
输出:3
在Python交互环境中定义函数时,Python会出现...的提示。函数定义结束后按两次回车键可以回到>>>提示符下
如果你已经把my_sum()保存成为sum.py文件,那么在改文件的当前目录下启动Python解释器后,输入
from sum import my_sum
就能导入求和函数了
空函数
如果想定义一个什么事也不做的空函数,可以使用pass语句
def nop():pass;
列表生成式
生成1-10的列表数组可以用list(range(1,11))来实现
输入:l=list(range(1,11))
输入:l
输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
如果要生成[1x1, 2x2, 3x3, ..., 10x10]
可以使用for循环
输入:L=[];
输入:for x in range(1,11):L.append(x*x)
输入:L
输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
写循环太繁琐,而列表生成式可以用一行语句代替循环生成上面的数组列表
输入:[x*x for x in range(1,11)]
输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
还可以使用两层循环,生成全排列
输入:[m+n for m in 'ABC' for n in 'XYZ']
输出:['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
同理使用三层循环,生成全排列
输入:[m+n+s for m in 'abc' for n in 'xyz' for s in 'opq' ]
输出:['axo', 'axp', 'axq', 'ayo', 'ayp', 'ayq', 'azo', 'azp', 'azq', 'bxo', 'bxp', 'bxq', 'byo', 'byp', 'byq', 'bzo', 'bzp', 'bzq', 'cxo', 'cxp', 'cxq', 'cyo', 'cyp', 'cyq', 'czo', 'czp', 'czq']
for 循环可以使用多个变量,如想循环出dict的键值对可以使用items()方法
输入:l={'x':'a','y':'b','z':'c'}
输入:[m+'='+n for m,n in l.items()]
输出:['x=a', 'y=b', 'z=c']