第五章 函数

一、函数的基本使用

  函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。经过定义,一组语句等价于一个函数,在需要使用这组语句的地方,直接调用函数名称即可。
  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各种语法的基本使用,慢慢来,比较快,打好基础。

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值