函数,通常称为方法,是一种将自变量到因变量的映射(y = f(x))。在python里用def或者lambda去构造,语法如下。
def f(x): #x -- 输入
y = x # y 与 x的关系
return y #y -- 输出
x0 = 1 #一个确定的自变量 x0
y0 = f(x) #得到一个相应的因变量 y0
内置函数,和关键词一样,是指官方指定名称的带有功能性的一些函数。首先,有四个内置函数很重要,对以后的开发很有帮助,它们分别是
help。帮助函数,它的功能是查看变量或对象等的详细信息,可以方便直接的查看文档import numpy as np
help(np) #查看numpy的文档
help(np.zeros) #查看numpy下zeros函数的使用方法
dir。返回一个包含对象所有的操作(方法)的列表import numpy as np
dir(np.zeros)
type。返回对象的类型,可用来查看对象的数据类型type(3.14) #类型为浮点数 float
id。输入一个对象,返回它的地址(编号),可用来判断两个对象是否是同一个对象,或者两个变量是否引用自同一个地方a = 1
b = id(a)
Python除了上面两个内置函数外还有很多,下图(摘自《数据结构与算法:Python描述》英文版29页)包含了基本所有的内置函数
下面依次介绍
abs。全名absolutely,求绝对值a = abs(-3.14) #a = 3.14
all、any。全部、存在,输入参数为一个可迭代对象。all判断可迭代对象里是不是全都为真,如果对象里存在0、None、False和空,则返回False,否则返回True。any判断对象里是否存在除上述四个以外的其他非假对象,存在则返回Truetest = [1, 2, 3, 0]
a = all(test)
b = any(test)
chr、ord。ASCii码转换函数,chr输入一个整数返回它对应的ASCii符号,ord相反str = ord('A')
num = chr(65)
min、max。输入为多个整数或者一个全数值或者全字符的可迭代对象,返回它们的最小值和最大值mi = min(1, 2, 3) #返回最小值 mi = 1
mi = min([1, 2, 3])
ma = ma(1, 2, 3) #返回最大值 ma = 3
sum。求和函数,输入为一个由数值组成的可迭代对象,返回它们的和s = sum([1, 2, 3]) #s = 1 + 2 + 3 = 6
len。求长度函数,输入一个可迭代对象,返回它的长度l = len([1, 2, 3] #l = 3
divmod。输入被除数和除数,求商和余数a, b = divmod(10, 3) # 10 / 3 = a ... b
pow。求幂函数,输入有两种形式a = pow(2, 3) #a = 2 的 3 次方
a = pow(2, 3, 4) #a = 2 的 3 次方除以 4 的余数
sorted。排序函数,输入一个全数值或者全字符的可迭代对象,对它进行排序num = sorted([2, 3, 1]) #num = [1, 2, 3]
reversed。翻转函数,输入一个可迭代对象,对它进行翻转,返回一个翻转后的迭代器a = ['a', 'b', 'c']
b = reversed(a) #b = ['c', 'b', 'a']
range。构造一个迭代,有三种输入形式a = range(5) #默认从 0 到 5,不包括5:0,1,2,3,4
b = range(1, 5) #从 1 到 5,不包括5:1,2,3,4
c = range(1, 5, 2) #从 1 到 5,步长为2:1,3
round。保留小数点位数的函数,有两种输入形式a = round(3.1415926) #得到离他最近d的整数 a = 3
b = round(3.1415926, 2) #保留 2 位小数点 b = 3.14
open。打开文件函数,输入为文件路径和打开方式(默认为只读),更多的打开方式可参考官方文档file = open("demo.txt", 'r')
input、print。输入输出处理函数,input的输入参数可以为空也可以为一个提示字符串,运行后会把回车前键盘上的输入赋值给一个定义的变量。print打印函数,将输入打印到屏幕上s = input("请输入您的名字:")
print(s)
map。映射函数,输入的第一个参数为一个函数,第二个参数为一个可迭代对象,返回一个类型map的可迭代对象func = lambda x : x ** 2 #求平方的函数
m = map(func, [1, 2, 3]) #对[1,2,3]依次求平方
isinstance。顾名思义,是判断对象类型的函数,输入分别为一个对象和一个数据类型,返回一个布尔值a = isinstance(3, int) #判断3是否为整数类型,返回a = True
hash。哈希函数,用来返回一个一个对象的哈希值,前提是对象是否是可哈希的对象,哈希值的定义后面会详细说明a = 1
hash_a = hash(a)
iter、next。迭代器相关函数iter输入一个可迭代对象,返回它的迭代器。next函数输入一个迭代器,返回它的下一个值。迭代器的原理后续会详细说明a = [1, 2, 3]
b = iter(a)
print(next(b)) #输出为1
print(next(b)) #输出为2
print(next(b)) #输出为3