跳到主要内容

函数

内置函数

在 Python 中有一些内置函数,可以直接使用:

# 数字类
print(max(1, 2, 3, 4, 5)) # 5
print(round(3.1415)) # 3
print(abs(-10)) # 10

# 字符串类
print("Hello, World".upper()) # HELLO, WORLD
print("Hello, World".lower()) # hello, world
print("Hello, World".startswith("He")) # True
print("Hello, World".endswith("ld")) # True

函数定义

以实现 abs 函数为例,其定义如下:

def my_abs(num):
if num >= 0:
return num
else:
return -num

print(my_abs(10)) # 10
print(my_abs(-10)) # 10
print(my_abs(0)) # 0

如果函数体没有什么内容,称为空函数:

def noop():
pass; # pass表示什么都不做

函数参数

函数支持多种参数传递形式,主要有如下几种:

# 位置参数,按顺序传入
def add(a, b):
return a + b # a = 3 b = 5

print(add(3, 5)) # 8

# 不用按顺序传入,只要和参数名对应即可
def greet(name, message):
return f"{message}, {name}!"

print(greet(message="Hi", name="Bob")) # Hi, Bob!

# 有些参数可以不传,不传则运用默认值
def greet(name, message="Hello"):
return f"{message}, {name}!"

print(greet("Alice")) # Hello, Alice!
print(greet("Bob", "Hi")) # Hi, Bob!

函数返回值

函数可以返回一个或者多个值,返回多个值是实质上是一个元组:

# 返回一个值
def is_even(num):
if num % 2 == 0:
return True
return False

print(is_even(4)) # True
print(is_even(5)) # False

# 返回多个值
def min_max(numbers):
return min(numbers), max(numbers)

low, high = min_max([3, 1, 4, 1, 5, 9])
print(low, high) # 1 9