函数、变量的作用域(Python学习第四弹)

python函数

函数:是组织好的,可重复使用的,用于实现特定功能的代码段
使用函数:为了得到一个针对特定需求、可供重复利用的代码段,提高程序的复用性,减少重复性代码,提高开发效率
将功能封装在函数内,可供随时重复利用

"""
函数的定义:   
def 函数名(传入参数):
    函数体
    return 返回值   
函数的调用:   
函数名(参数)
"""
print("------------函数的基本语法-------------")
#定义函数
def check():
    #函数体输出信息
    print("快让我检查检查!!!\n来的太晚了")
#调用函数
check()

运行结果
在这里插入图片描述

函数的传入参数

传入参数的功能:在函数进行计算的时候,接受外部(调用时)提供的数据

print("---------函数的传入参数--------")
#定义2数相加的函数,通过参数接受被计算的2个数字
def add(x,y): #x,y为形式参数
    result=x+y
    print(f"{x}+{y}的结果是{result}")
#调用函数,传入被计算的2个数
add(1,2) #1,2为实际参数,按顺序传入

#自动查核酸
print("-------自动查核酸--------")
"""
定义一个函数,名称随意,并接受一个参数传入(数字类型,表示体温)
在函数内进行体温判断(正常范围:小于等于37.5度)
"""
#定义函数,接受参数传入(数字类型,表示体温)
def check(num): #num为形式参数
    #函数体内判断体温
    print("请出示您的健康码以及72小时核酸证明,并配合测量体温!")
    if num<=37.5:
        print(f"体温测量中,您的体温是{num}度,体温正常请进入!")
    else:
        print(f"体温测量中,您的体温是{num}度,体温异常!")
#调用参数,传入实际参数
check(37.6)

运行结果:
在这里插入图片描述

返回值

“返回值:程序中函数完成事情后,最后给调用者的结果”

"""
返回值的语法格式:
def 函数(参数...)
    函数体
    return 返回值
变量=函数(参数)
"""

“函数体在遇到return后就结束了,写在return后的代码不会执行”

print("---------返回值的语法格式---------")
#定义2数相加的函数,通过参数接受被计算的2个数字
def add(x,y): #x,y为形式参数
    result=x+y
    #通过返回值,将相加的结果返回给调用者
    return result
#定义变量,调用函数,传入被计算的2个数
r=add(2,3)
print(r)

运行结果
在这里插入图片描述

None类型

“None:空的,类型为:<class’NoneType’>”

None类型的应用场景
1.用在函数无返回值上
2.用在if判断上
-在if判断上,None相当于False
-一般用于在函数中主动返回None,配合if判断做相关处理
3.用于声明无内容的变量上
-定义变量,但暂时不需要变量有具体值,可以用None来代替

print("----------None类型------------")
#无return语句的函数返回值
def say_hi():
    print("Hi")
result = say_hi()
print(f"无返回值函数,返回内容为:{result}\n返回内容类型为{type(result)}")

#主动返回None的函数
def say_hi1():
    print("Hi")
    return None
result = say_hi1()
print(f"无返回值函数,返回内容为:{result}\n返回内容类型为{type(result)}")

#None用于if判断
print("--------None用于if判断----------")
def check_age(age):
    #判断年龄,调用返回值
    if age>18:
        return SUCCESS
    else:
        return None
#定义变量,调用参数
result = check_age(16)
if not result:
    #进入if表示result是None值,也就是False
    print("未成年禁止进入")

#None用于声明无初始内容的变量
name=None

运行结果
在这里插入图片描述

函数的说明文档

print("---------函数的说明文档--------")
#定义2数相加的函数,通过参数接受被计算的2个数字
def add(x,y): #x,y为形式参数
    """
    add函数可以接收两个参数,进行相加
    :param x: 形式参数x表示相加的一个参数
    :param y: 形式参数y表示相加的另一个参数
    :return: 返回值是两数相加的结果
    """
    result=x+y
    #通过返回值,将相加的结果返回给调用者
    return result
#定义变量,调用函数,传入被计算的2个数
r=add(2,3)
print(r)

在这里插入图片描述

函数的嵌套调用

“函数的嵌套调用:一个函数里面又调用了另一个函数”

print("---------函数的嵌套调用----------")
"函数a中执行调用函数b的语句,会将函数b全部执行完成后,继续执行函数a的剩余内容"
#定义函数func_b
def func_b():
    print("2")
#定义函数func_a,并在内部调用func_b
def func_a():
    print("1")
    #内部调用func_b
    func_b()
    print("3")
#调用函数func_a
func_a()

运行结果
在这里插入图片描述

变量的作用域

变量的作用域:变量的作用范围
1.局部变量:定义在函数体内部的变量,只在函数体内部生效
-作用:在函数体内部,临时保存数据,当函数调用结束后,销毁局部变量
2.全局变量:在函数体内、外都可以生效的变量

#局部变量
print("-----------局部变量--------")
def test_a():
    num = 100
    print(num)
test_a()
#出了函数体,局部变量就无法使用啦
#print(num)

#全局变量
print("-----------全局变量--------")
num=200
def test_b():
    print(f"test_b:{num}")
def test_c():
    print(f"test_c:{num}")
test_b()
test_c()
print(num)

#在函数内部修改全局变量
print("---------在函数内部修改全局变量----------")
num=200
def test_b():
    print(f"test_b:{num}")
def test_c():
    num=500 #内部进行局部变量
    print(f"test_c:{num}")
test_b() #200
test_c() #500
print(num) #200

#global关键字,在函数内声明变量为全局变量
print("---------global关键字----------")
num=200
def test_b():
    print(f"test_b:{num}")
def test_c():
    #设置内部定义的变量为全局变量
    global num
    num=500
    print(f"test_c:{num}")
test_b() #200
test_c() #500
print(num) #500

运行结果
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值