函数(Function)是把一组可复用的操作打包起来,并用一个名字来调用的机制。
它能让代码模块化、易读、易维护。在 Python 中,函数由关键字 def 开始,后跟函数名、参数列表,并在缩进处编写函数体,必要时用 return 返回结果。
def 函数名(参数1, 参数2=默认值, *args, **kwargs):
"""说明函数做什么、参数与返回值"""
# 函数体(缩进)
return 结果 # 可选
函数名(实参1, 实参2, 关键字=值) return 值 或 return a, b(返回元组);省略 return 等同于返回 None。 *args/**kwargs) help() 显示帮助。 def add(a: int, b: int) -> int:# 定义一个简单的函数
def greet():
print('你好,欢迎学习Python函数!')
# 调用函数
greet()
你好,欢迎学习Python函数!
在上面的例子中,我们定义了一个名为greet的函数。这个函数没有参数,每次调用时都会输出一条欢迎信息。
greet()
你好,欢迎学习Python函数!
函数可以通过参数接受输入,从而根据输入执行不同的操作。
# 带有参数的函数
def greet_with_name(name):
print(f'你好,{name},欢迎学习Python函数!')
# 调用函数并传递参数
greet_with_name('SISUer')
你好,SISUer,欢迎学习Python函数!
在这个例子中,greet_with_name函数接受一个参数name,通过传递不同的名字可以定制输出的信息。
函数可以返回一个或多个值,用 return 语句实现。
# 定义一个带有返回值的函数
def multiply_numbers(a, b):
return a * b
# 调用函数并接收返回值
product = multiply_numbers(3, 4)
print(f'乘积是:{product}')
乘积是:12
在这个例子中,multiply_numbers函数返回参数a和b的乘积,通过return语句将结果传递给调用者。
# 统计一段文本的字数
def count_words(text):
return len(text)
# 文学作品片段
quote = "苟利国家生死以,岂因祸福避趋之。"
print(f"文本内容:{quote}")
print("字数统计:", count_words(quote))
文本内容:苟利国家生死以,岂因祸福避趋之。 字数统计: 16
# 一个简单的函数,返回两个年份之间的差距
def year_difference(year1, year2):
return abs(year1 - year2)
# 计算《红楼梦》成书时间与现在的间隔
gap = year_difference(1791, 2025)
print(f"《红楼梦》成书至今已有约 {gap} 年。")
《红楼梦》成书至今已有约 234 年。
def add_two_number(num1,num2):
return num2-num1
add_two_number(10,30)
20
函数可以接受多个参数,通过逗号分隔。
# 带有多个参数的函数
def add_numbers(a, b):
c = a + b
return c
# 调用函数 并传递参数
result = add_numbers(5, 1000)
print(f'和是:{result}')
和是:1005
在这个例子中,我们定义了一个add_numbers函数,它接受两个参数a和b,返回它们的和。
def 计算面积(长度, 宽度):
""“计算矩形的面积”""
return 长度 * 宽度
# 调用函数
面积 = 计算面积(10, 5)
print("矩形的面积是:", 面积)
#Show time
# 参考答案
def calculate_area(length, width):
"""
Calculate the area of a rectangle.
Parameters:
length (float): The length of the rectangle.
width (float): The width of the rectangle.
Returns:
float: The area of the rectangle.
"""
return length * width
# Call the function
area = calculate_area(10, 5)
print("The area of the rectangle is:", area)
The area of the rectangle is: 50
在定义函数时,可以为参数设置默认值,如果调用时未传递该参数,则使用默认值。
# 带有默认参数的函数
def greet_with_default(name='同学'):
print(f'你好,{name},欢迎学习Python函数!')
# 调用函数,不传递参数
#greet_with_default()
# # # 调用函数,传递参数
greet_with_default("SISUer")
你好,SISUer,欢迎学习Python函数!
在这个例子中,greet_with_default函数定义了一个默认参数name,如果调用时不提供name参数,将使用默认值'同学'。
calculate_area的函数,接受两个参数width和height,返回矩形的面积。is_even的函数,接受一个整数参数,如果是偶数返回True,否则返回False。greet_multiple_times的函数,接受一个名字参数和一个次数参数,输出该名字的欢迎信息多次。# 练习 1: 计算矩形面积
def calculate_area(width, height):
return width * height
# 测试练习
area=calculate_area(10, 3)
print(f'矩形面积是:{area}')
矩形面积是:30
# 练习 2: 判断是否为偶数
def is_even(number):
return number % 2 == 0
even_check = is_even(8)
#print(f'数字 8 是偶数吗?{even_check}')
def is_even(number):
if number % 2 == 0:
print('True')
else:
print('False')
is_even(9)
False
# 练习 3: 多次欢迎
def greet_multiple_times(name, times):
for i in range(times):
print(f'你好,{name}!欢迎学习Python函数!')
greet_multiple_times('SISUer', 10)
你好,SISUer!欢迎学习Python函数! 你好,SISUer!欢迎学习Python函数! 你好,SISUer!欢迎学习Python函数! 你好,SISUer!欢迎学习Python函数! 你好,SISUer!欢迎学习Python函数! 你好,SISUer!欢迎学习Python函数! 你好,SISUer!欢迎学习Python函数! 你好,SISUer!欢迎学习Python函数! 你好,SISUer!欢迎学习Python函数! 你好,SISUer!欢迎学习Python函数!
请尝试完成以下练习: