Python 函数大全
什么是Python函数
在 Python 编程语言中,函数是组织好的,可重复使用的代码块,它们用于执行一个特定的任务。
Python函数的定义及语法
在 Python 中,定义一个函数要使用 def
语句,语法如下:
def 函数名 (参数列表) :
函数体
return [返回值]
- 函数代码块以
def
关键词开头,后接函数标识符名称和圆括号()
- 函数所有的输入参数和自变量必须放在圆括号内,圆括号之间可以用于定义参数
- 冒号
:
代表函数内容的开头 - 函数内容以缩进块开始,且一般有
return
语句,用于返回值给调用者 return
表示结束函数并返回一个值给调用者,不带表达式的 return 相当于返回None
示例:
def sum(x, y):
return x + y
函数的调用
定义了函数之后,可以通过以下方式进行函数的调用
sum(1,2)
运行结果为:3
还可以将函数赋值到一个变量上
add = sum
这时,我们可以通过执行 add(1,2)
来调用 sum
函数,结果也为 3
。
函数的参数传递
Python 中,参数传递有以下几种方式:
-
位置参数
- 默认方式,直接根据参数位置进行传递。
-
关键字参数
- 根据参数名称传递。
-
默认参数
- 为函数参数指定缺省值,在调用时可以使用默认参数。
-
不定长参数
- args: 表示任意多个无名参数。
- kwargs: 表示任意多个键值对参数。
示例:
# 1.位置参数
def power(x, n):
return x ** n
power(2, 3) #8
# 2.关键字参数
def parse(name, age):
print(name, age)
parse(age=18, name='tom')
# 3.默认参数
def say_hi(name, age=18):
print('hello, %s, you are %s years old' % (name, age))
say_hi('Lucy', 20)
say_hi('Lucy')
# 4.不定长参数
def sum(*args):
result = 0
for num in args:
result += num
return result
sum(1, 2, 3) #6
sum(1, 2, 3, 4, 5) #15
def person_info(name, age, **kwargs):
print(name, age, kwargs)
person_info('Lucy', 20, gender='female', city='Beijing')
Python 内置函数
Python 已经内置很多函数,这些函数可以直接使用。例如下面这些:
abs(x) # 返回数字的绝对值
all(iterable) # 判断iterable中所有元素是否都为True
any(iterable) # 判断iterable中是否有真
bin(x) # 将一个整数转化为二进制字符串
callable(object) # 检查对象是否是可调用的
chr(i) # 返回整数i对应的ASCII字符
close() # 将文件关闭
divmod(a, b) # 返回元组(a // b, a % b)
enumerate(iterable) # 返回一个包含索引和值的枚举对象,iterable可以是任意可迭代对象
eval(expression) # 将字符串str当成有效的表达式来求值并返回计算结果
float([x]) # 将整数和字符串转换为浮点数
id(object) # 返回对象的唯一标识符
input([prompt]) # 获取用户输入内容
int(x[, base]) # 将一个字符串或数字转化为整数
isinstance(object, classinfo) # 检查对象是否是某个类的实例
len() # 返回对象的长度(元素个数)
list() # 将一个可迭代对象转换成列表
map(fun, iterable) # 将函数fun作用于迭代器iterable中的每一个元素,返回一个迭代器
max(iterable) # 返回可迭代对象中的最大值
min(iterable) # 返回可迭代对象中的最小值
range(start, stop[, step]) # 生成一个整数序列,start(默认为0)开始,到stop结束,不包括stop,间隔为step(默认为1)
open() # 打开一个文件,返回一个文件对象
ord() # 返回字符对应的ASCII数值
print() # 输出指定的字符串或其他对象
round(number[, ndigits]) # 对数字进行四舍五入操作
sorted(iterable[, key]) # 返回一个排序后的列表
str() # 将数字等转换为字符串
sum(iterable[, start]) # 返回序列iterable中数值的和
type() # 返回对象的类型
zip() # 可以把多个list、tuple值对应压缩在一起,然后用for循环遍历输出每个压缩值.
Python模块中自定义函数
除了内置函数,我们还可以定义自己的函数。只需要将自己定义的函数放入一个 py 模块中,就可以按照模块的方式进行导入和调用。
例如,我们可以在模块 my_module.py
中定义自己的函数:
def add(num1, num2):
return num1 + num2
def multiply(num1, num2):
return num1 * num2
然后,我们可以在另一个程序中导入该模块,从而调用其中的函数:
import my_module
# 调用 add 函数
num_sum = my_module.add(2, 3)
# 调用 multiply 函数
num_product = my_module.multiply(2, 3)