Python学习之函数 def
函数是Python中最重要的编程概念之一,它可以让程序员把一组重复的代码块封装在一起,并且可以通过函数名来调用这组代码。在Python中,使用def
关键字来定义函数。
定义函数
定义函数的语法如下所示:
def 函数名(参数列表):
函数体
return 返回值
其中:
函数名
指定了函数的名称,函数名规范与变量名规范相同。参数列表
指定了函数的参数,可以为空。多个参数之间用逗号,
分隔,参数可以有默认值。函数体
是函数所要执行的代码块,可以包含任意数量的语句。return
语句用于返回函数的执行结果。
下面是一个简单的示例:
def hello(name):
print("Hello, %s!" % name)
return
hello("Alice")
运行上述代码,将会输出 Hello, Alice!
。
调用函数
定义一个函数之后,要进行调用才能执行函数体,语法形式为:
函数名(参数列表)
示例:
def factorial(n):
if n == 1:
return n
else:
return n * factorial(n-1)
result = factorial(5)
print(result) # 结果为 120
上述代码定义了一个名为 factorial()
的函数,该函数用于计算输入参数的阶乘。然后通过 factorial(5)
调用并获取结果,最终结果为 120
。
作用域
在 Python 中,变量的作用域有全局变量和局部变量两种。在函数内部定义的变量,仅在函数内部有效,称为局部变量;在函数外部定义的变量,称为全局变量,在整个程序中都有效。
示例:
x = 10 # global variable
def add(n):
x = 5 # local variable
return n + x
result = add(3)
print(result) # 结果为 8
print(x) # 结果为 10
上述代码定义了一个全局变量 x
和一个函数 add()
,该函数中定义了局部变量 x
。在函数中,使用 x
变量时,首先尝试查找局部变量 x
,如果找不到再去全局作用域中查找。调用 add(3)
返回 8
,并最终输出 10
。
lambda 函数
除了使用 def
关键字定义函数,还可以使用 lambda
关键字创建一个匿名函数,同时也是一种函数定义的方式。
语法形式为:
lambda 参数: 对参数进行操作的表达式
示例:
add = lambda x, y: x + y
result = add(3, 5)
print(result) # 结果为 8
上述代码定义了一个匿名函数 add
,用于计算两个数的和。调用 add(3, 5)
返回 8
。
总结:函数 def
是 Python 中非常重要的编程概念之一。通过函数,我们可以把一组重复的代码块封装在一起,并且可以通过函数名来调用这组代码。在 Python 中,使用 lambda
关键字也可以创建一个匿名函数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python学习之函数 def - Python技术站