在Python中,函数是一种组织好的、可重复使用的代码块,用于实现单一或相关联的功能。函数定义使用def
关键字,后跟函数名和圆括号内的参数列表,以及冒号。函数体则缩进并包含一系列语句。
函数定义语法:
def function_name(parameters):
"""docstring"""
# function body
return [expression]
function_name
是函数的唯一标识符。parameters
是传递给函数的输入值。"""docstring"""
是可选的文档字符串,用于描述函数的功能。return
语句用于结束函数,并可选择性地返回一个值。print()
、len()
等。# 定义一个简单的函数
def greet(name):
"""This function greets to the person passed in as parameter"""
print("Hello, " + name + "!")
# 调用函数
greet('Alice')
# 定义一个带返回值的函数
def add_numbers(a, b):
"""This function adds two numbers"""
return a + b
# 调用函数并打印结果
result = add_numbers(3, 5)
print("The sum is:", result)
# 使用lambda定义匿名函数
square = lambda x: x ** 2
print(square(4)) # 输出: 16
问题1:函数调用时出现TypeError
原因:传递给函数的参数类型不正确。
解决方法:检查参数类型,并确保它们与函数定义中的预期类型相匹配。
def divide(a, b):
return a / b
# 错误的调用方式
divide('10', 2) # TypeError: unsupported operand type(s) for /: 'str' and 'int'
# 正确的调用方式
divide(10, 2) # 输出: 5.0
问题2:函数内部变量与全局变量冲突
原因:在函数内部使用了与全局变量同名的局部变量。
解决方法:避免使用相同的变量名,或者在函数内部使用global
关键字声明全局变量。
x = 10
def modify_global():
global x
x = 20
modify_global()
print(x) # 输出: 20
通过理解这些基础概念和常见问题,你可以更有效地在Python中编写和使用函数。
领取专属 10元无门槛券
手把手带您无忧上云