一、函数的基本使用
函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。经过定义,一组语句等价于一个函数,在需要使用这组语句的地方,直接调用函数名称即可。
Python定义一个函数使用def保留字:
def 函数名 (参数列表):
函数体
return 返回值列表
1.函数名可以是任何有效的Python标识符;
2.参数列表是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时各参数由逗号分隔,当没有参数时也要保留括号;
3.函数体是函数每次被调用时执行的代码,由一行或多行语句组成;
4.如果需要返回值,使用保留字return和返回值列表,函数可以没有return语句,函数体结束后会将控制权返回给调用者。return语句可以出现在函数中的任何部分,同时可以将0个、1个或多个函数运算的结果返回给函数被调用处的变量。
Python调用一个函数:
函数名(参数列表)
例子:
def say():
print("Hello, world!")
return
# 调用函数
say()
二、函数的参数传递
Python函数的参数可以分为两种类型:位置参数和关键字参数。位置参数是按照定义时的顺序进行传递的,而关键字参数则是通过参数名进行传递的。
下面是一个使用位置参数和关键字参数的函数示例:
def add(x, y):
result = x + y
print("The sum of", x, "and", y, "is", result)
# 位置参数调用
add(2, 3)
# 关键字参数调用
add(x=2, y=3)
add(y=3, x=2)
在这个例子中,我们定义了一个函数"add",它接受两个参数x和y,并计算它们的和。通过位置参数调用函数时,要按照参数定义的顺序依次传递参数值;而通过关键字参数调用函数时,可以根据参数名指定参数的值,无需按照顺序。
函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传入对应的参数值,则使用函数定义时的默认值替代。
def 函数名(非可选参数列表, 可选参数 = 默认值):
函数体
return 返回值列表
可选参数一般都放置在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值。
三、函数的返回值
Python函数语句中,如果需要返回值,使用保留字return和返回值列表,函数可以没有return语句,函数体结束后会将控制权返回给调用者。
需要注意的是,函数可以返回多个值,多个返回值会被以元组的形式返回。我们可以通过元组拆包来接收并使用这些返回值。
示例:
def calculate(x, y):
sum = x + y
difference = x - y
product = x * y
quotient = x / y
return sum, difference, product, quotient
# 调用函数并接收返回值
s, d, p, q = calculate(10, 5)
print("The sum is", s)
print("The difference is", d)
print("The product is", p)
print("The quotient is", q)
在这个例子中,函数"calculate"接受两个参数x和y,并返回它们的和、差、积和商。通过将返回值进行元组拆包,我们可以分别获取并使用这些返回值。
四、变量的作用域
根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。
局部变量指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不再存在。
全局变量指在函数之外定义的变量,在程序执行全过程有效。全局变量在函数内部使用时,需要提前使用保留字global声明:
global 全局变量
例子:
global Num #设定全局变量
Num = 100
def func(): #定义函数
Num = 200
func() #调用函数
print(Num)
# 输出:100
从输出结果可以看出,虽然在函数中我们设定了Num的值为200,但是函数中的Num为局部变量;而我们最开始就在函数初始位置定义了全局变量Num为100,所以即使在函数中将Num的设定为200,但他只在函数内部起作用,函数结束后,Num的值由全局变量设定的值决定,即Num = 100。
五、总结
现阶段主要理解python各种语法的基本使用,慢慢来,比较快,打好基础。