下面是关于“Python专题一函数的基础知识”的完整攻略。
一、函数的定义和调用
函数是一段封装了特定功能的代码块,可以接收输入参数,并返回输出结果。下面是函数的定义和调用方法:
def function_name(parameter1, parameter2, ...):
# function body
return output_value
output = function_name(input1, input2, ...)
其中,def
关键字用于定义函数,function_name
是函数的名称,parameter
是函数的参数,格式为(parameter_name: type)
, output_value
是函数的输出结果,return
语句用于返回函数的执行结果。函数调用时,需要提供对应的输入参数,赋值给相应的定义参数,得到函数的输出结果。
示例1:定义一个函数求两个数的和,并计算3+2的结果。
def add_two_number(num1: int, num2: int):
return num1 + num2
result = add_two_number(3, 2)
print(result) # 输出 5
示例2:定义一个函数求平均数,并计算[2, 3, 5, 7]的平均数。
def average(numbers: list):
return sum(numbers) / len(numbers)
data = [2, 3, 5, 7]
result = average(data) # 3.0
print(result)
二、函数参数的默认值和可变参数
除了定义函数时指定输入参数外,还可以给函数参数提供默认值,以及使用可变参数。
2.1 函数参数的默认值
给函数参数提供默认值可以使得一些参数在调用函数时可以被省略,需要注意以下规则:
- 默认参数必须放在非默认参数的后面;
- 如果同时存在有默认和无默认的参数,需要将默认值的参数放在后面。
示例1:定义一个函数,其中参数b有默认值。
def func_with_default(a, b=2):
print(a, b)
func_with_default(1, 3) # 输出1,3
func_with_default(1) # 输出1,2
2.2 可变参数
函数中的可变参数指的是不确定参数个数的情况下,可以使用*args
或**kwargs
来进行传参,其中*args
表示位置参数,以元组(tuple)方式传递,**kwargs
表示关键字参数,以字典(dict)方式传递。
示例2:定义一个函数,计算任意个数的数字之和。
def sum_all_numbers(*args):
result = 0
for num in args:
result += num
return result
result1 = sum_all_numbers(1, 2, 3)
result2 = sum_all_numbers(1, 2, 3, 4, 5)
print(result1) # 输出6
print(result2) # 输出15
三、函数的作用域
函数中的变量分为局部变量和全局变量,局部变量是函数中定义的变量,只在函数内部可见,全局变量是在函数之外定义但在函数之内使用的变量。
函数中的变量查找顺序为:局部作用域 -> 嵌套作用域 -> 全局作用域 -> 内置作用域。
示例3:演示函数内部变量和外部变量的作用域
global_var = "global_var"
def func():
local_var = "local_var"
print(local_var) # 输出local_var
print(global_var) # 输出global_var
func()
print(local_var) # 抛出NameError,因为在函数外部无法访问局部变量
四、Lambda表达式
Lambda表达式是一种匿名函数,允许你快速定义一个简单的函数,通常用来编写简单的回调函数(callable)。Lambda函数的基本形式如下:
lambda parameters: expressions
示例4:使用Lambda表达式计算平方数
squared = lambda num: num ** 2
print(squared(3)) # 输出9
以上就是“Python专题一函数的基础知识”攻略的全部内容,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 专题一 函数的基础知识 - Python技术站