python函数大全

  • Post category:Python

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 中,参数传递有以下几种方式:

  1. 位置参数

    • 默认方式,直接根据参数位置进行传递。
  2. 关键字参数

    • 根据参数名称传递。
  3. 默认参数

    • 为函数参数指定缺省值,在调用时可以使用默认参数。
  4. 不定长参数

    • 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)