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

Python变量的作用域 在编写Python程序时,了解作用域的规则和注意事项对于编写清晰、可维护的代码至关重要。作用域决定了变量的可见性和访问权限,合理地使用作用域可以避免变量命名冲突,提高代码的可读性和可维护性。作用域决定了变量的可见性和访问权限,理解作用域对于编写可靠的程序至关重要。在上述代码中,我们在函数内部定义了变量y,它具有局部作用域,只能在函数内部被访问。在上述代码中,我们使用了Python内置的print函数和内置模块math中的常量pi,在嵌套的函数中,可以访问外部函数定义的变量。 阅读详情

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

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

函数(三)作用域之变量作用域、函数嵌套中局部函数作用域、默认值参数作用域 一、非嵌套函数下全局变量与局部变量的使用 x=200 >>> def f2(): ... print(x) ... >>> f2() 200 x=200 >>> def f2(): ... x=100 ... print(x) ... >>> f2() 100 在函数体外定义的变量,一定是全局变量,例如: add = "http://c.biancheng.net/shell/" def text(): 阅读详情

相关推荐

Python 变量作用域详解

作用域关键字修改变量局部作用域(Local)无只能在函数内访问全局作用域(Global)global允许在函数内修改全局变量嵌套作用域(Enclosing)nonlocal允许在嵌套函数内修改外部函数变量内置作用域(Built-in)无Python 预定义的变量和函数🔹最佳实践尽量避免使用全局变量,函数应尽量依赖传参。使用global和nonlocal时要小心,以免影响代码的可读性和可维护性。理解作用域有助于编写更清晰、高效的 Python 代码!🚀。

m0_62599305的博客 1609

Python之变量作用域

文章目录一 变量作用域1. Local(局部变量)2. Enclosed(嵌套)3. Global(全局)4. Built-in(内置)二 变量使用规则三 变量的修改1. global修改全局变量2. nonlocal修改外层函数变量 一 变量作用域 python变量作用域一般有4种,如下 1. Local(局部变量) Local(局部变量):暂时的存在,依赖于创建该局部作用域的函数。函数存,则局部变量存,函数亡,则局部变量亡。如下 #局部作用域 def fun(): b = 2 pri

qq_44690947的博客 1万+

Zemax实战录——非序列模式下的微透镜阵列仿真与优化

本文详细介绍了在Zemax非序列模式下进行微透镜阵列仿真的完整流程与优化技巧。文章重点阐述了从序列模式切换到非序列模式的必要性,并逐步指导如何搭建光源、阵列与探测器的仿真环境。核心在于通过调整圆锥系数等关键参数优化像差,并增加光线数以提升仿真精度与均匀性,为光学设计提供可靠依据。

weixin_28339967的博客 524

python 函数—变量作用域

变量作用域指南

weixin_65289420的博客 1862

一位海外开发者的 OpenSPG KAG 实践分享

KAG 是一个以创建和操作知识图谱为核心的框架。知识图谱是数据之间相互关联的可视化和结构化表示,对于搜索引擎、推荐系统和机器学习等应用至关重要。KAG 的目标是提供一个强大的平台,使开发者能够:轻松构建图谱;通过增强算法丰富数据;集成人工智能,以进行更精确的推理。通过理解 KAG,可以明显看出,这个框架旨在帮助从初学者到专业开发者,在项目中创造更优的解决方案。它在简便性和集成方面的优势,使其成为下一代基于数据的应用程序的前景工具。

金融机器智能社区 3405

【React Native】源码分析之Native UI的封装和管理

转载请注明出处:http://blog.youkuaiyun.com/u013531824/article/details/54020287,谢谢。  ReactNative作为使用React开发Native应用的新框架,随着时间的增加,无论是社区还是个人对她的兴趣与日递增。此文目的是希望和大家一起欣赏一下ReactNative的部分源码。阅读源码好处多多,让攻城狮更溜的开发ReactNative应用的同时,也

Tiny的专栏 9779

Python 变量作用域

变量作用域(scope)在Python中是一个容易掉坑的地方。 Python的作用域一共有4中,分别是: L (Local) 局部作用域 E (Enclosing) 闭包函数外的函数中 G (Global) 全局作用域 B (Built-in) 内建作用域 以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就

Muge 3万+

C#与YOLOv8工业缺陷检测实战:从算法到PLC集成的工程化落地

目标检测作为计算机视觉的核心任务,其原理是通过深度学习模型在图像中定位并识别物体。这项技术的关键价值在于将AI的感知能力转化为实际生产力,尤其在工业自动化领域,它能实现高效、精准的视觉检测。在工业缺陷检测这一典型应用场景中,稳定性和实时性是核心挑战。本文聚焦于如何将YOLOv8这一先进的目标检测模型,与C#上位机开发及工业相机硬件深度集成,构建一个能够7x24小时稳定运行的智能检测系统。文章深入探讨了从模型训练、ONNX部署,到与PLC通信联调的完整工程化路径,并针对工业环境中常见的稳定性、性能及调试问题提

weixin_33508411的博客 236

python作用域,变量作用域

变量作用域 一个程序的所有变量并不是在哪个位置都可以访问的。访问权限取决于这个变量是在哪里赋值的。 变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。 如下为两种最基本的变量的作用域: 全局变量 局部变量 定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时...

孤独的根号三 3999

玩转 Milvus(二):在 Ubuntu 22.04(WSL2)上安装 Milvus

本文详细介绍了在Ubuntu 22.04(WSL2)环境下安装Milvus向量数据库的两种单机模式:Milvus Lite和Milvus Standalone。Milvus Lite作为轻量级Python库,适合快速学习和小规模实验,只需通过pip安装即可使用。Milvus Standalone则支持Docker和Docker Compose两种部署方式,适合开发测试或小规模生产环境。文章对比了不同安装方式的优缺点,并提供了验证案例和常见问题解答,帮助开发者快速上手,实现简单的语义搜索功能。

企业级后端与 AI 应用开发双线探索 2507

2025_NIPS_RAGRouter: Learning to Route Queries to Multiple Retrieval-Augmented Language Models

该研究聚焦检索增强生成(RAG)场景下的大语言模型(LLM)路由问题,提出了首个RAG感知的路由框架RAGRouter。核心解决现有路由方法依赖静态参数知识、忽略检索文档动态影响的缺陷,通过融合文档嵌入、RAG能力嵌入与对比学习,捕捉RAG引发的模型知识表征变化,为每个查询-文档对选择最优LLM。实验覆盖5个知识密集型任务、15个开源/闭源LLM,验证了RAGRouter在性能上超越最佳单LLM和非RAG感知路由方法,且通过阈值机制实现低延迟约束下的性能-效率平衡。

UnknownBody_2的博客 272

Python 变量作用域与函数

Python 变量作用域一个程序的所有的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的,变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称,两种最基本的变量作用域,第一种是局部变量,第二种是全局变量.定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域,而局部变量只能在其被声明的函数内部访问,全局变量则可以在整个程序范围内访问.变量的作用域...

微软技术分享 8684

SAP 集成泛微 OA Open API 新建流程申请接口

《SAP ERP 与泛微 OA 的系统集成》系列文章。泛微 Open API 是基于 HTTPS 的 Restful 接口,上篇文章,我已经完成了调用业务接口之前的准备工作,这篇文章我以新建流程申请这个系统集成最重要的接口为例,讲解接口设计、泛微 API 调用的过程、遇到的问题、解决的办法。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3555

Python中变量作用域规则详解

前言 作用域是指变量的生效范围,例如本地变量、全局变量描述的就是不同的生效范围。python的变量作用域的规则非常简单,可以说是所有语言中最直观、最容易理解的作用域。 在开始介绍作用域之前,先抛一个问题: x = 1 def f(): x = 3 g() print("f:", x) # 3 def g(): print("g:", x) # 1 ...

float *sword 2584

基于知识图谱的农作物病虫害问答系统设计与实现

基于规则的问题分类是自问答系统诞生以来就一直存在的方式,主要代表就是众多的专家系统,构建专家系统采用的是规则分类器,优点是能够对特定领域、特征明显的问题进行高效精准问答,但是。,在问答系统中,问题以语音及文本字符等自然语言形式输入,利用问答系统的内部的逻辑处理模块,通过自然语言处理技术获得输入问句的详细语义信息,再经过知识检索、置信分析等步骤,自然语言处理中,用于文本分类任务的机器学习方式有两种,一种用传统的机器学习,如 NBC、SVM 等,另一种采用深度学习,如 CNN 和 RNN 等。

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 2166

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Python 中函数内部变量的作用域

在 Python 中,函数内部变量的作用域是一个常见的问题。当在函数内部定义变量时,该变量仅在函数内部有效,函数外部无法访问该变量。这可能会导致一些意外错误,尤其是当您不熟悉 Python 的变量作用域规则时。为了更好地理解这个问题,我们来看一个示例。在以下代码中,我们定义了一个名为的函数,该函数内部定义了一个名为i的变量。然后,我们尝试调用函数,并使用eval()函数来打印i的值。但是,当我们运行代码时,我们会得到一个错误消息:“NameError: name ‘i’ is not defined”。

aobulaien001的博客 1132

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python 函数:Python 中变量的作用域

Python 中变量的范围被定义为“某事所处理或与之相关的领域或主题的范围”。在编码世界中,这个定义对于变量也是一样的。通常,变量仅在创建该变量的块中有效,并称为其作用域。变量“scope”是编程中一个非常基本的概念。每个开发人员都知道变量的局部和全局范围,无论其工作语言如何。全局:所有代码都可以访问此范围内定义的名称本地:此范围内定义的名称仅可供声明它的块访问。即在其本地块中。但是,当涉及到 Python 时,情况就有点不同了。

新华编程特战队 1185

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Python中变量的作用域详解

Python中变量的作用域详解~

m0_52711790的博客 4450

Python基础:变量作用域与嵌套函数

本文详细介绍了Python中的变量作用域与嵌套函数的相关概念。

an_yu_xin的博客 1455

python中的变量作用域

这几天在工作中需要用python写点小工具,看别人写的代码时有些疑问(平时写c)按照C语言的习惯,my_var 是一个局部变量,打印的时候该变量已经销毁,无法成功运行。但是在上述python代码可以成功运行,简单查阅一下,在此记录一下结果。printlen接下来,我将通过一些代码示例来展示这些不同作用域的变量是如何工作的。

m0_59236602的博客 1047

Python变量作用域

在程序中定义一个变量时,这个变量是有作用域的,变量的作用范围被称为它的作用域。x = 10 # 局部变量print(x) # 可以访问my_function() # 输出: 10# print(x) # 这里会报错,x在函数外部不可访问在嵌套函数中,内部函数可以访问外部函数的变量。x = "outer" # 嵌套作用域变量print(x) # 可以访问外部函数的变量inner()outer() # 输出: outer在模块级别定义的变量具有全局作用域。

qq_32021001的博客 1526

python 函数变量的作用域

python 函数变量的作用域 1.出现的原因 变量的作用域:变量可以被使用【被访问】的范围 程序中的变量并不是在任意的语句中都可以被访问,访问权限取决于这个变量被定义在哪个位置 2.作用范围划分 局部作用域:L【Local】一般定义在函数中 函数作用域:E【Enclosing】 将变量定义在闭包外的函数中 全局作用域:G【Global】整个文件都可以调用 內建作用域:B【Built-in】python环境的内置,python环境都可以用 代码演示: # 函数:有作用域 # 局部变量:函数内部的变

Lonely_Fishes的博客 722

python变量的作用域

作用域又可以被称为命名空间,指变量起作用的范围。Python变量作用域可以分为四种,分别为局部作用域、嵌套作用域、全局作用域、内置作用域。 作用域 英文 简写 局部作用域 Local L 嵌套作用域 Enclosed E 全局作用域 Global G 内置作用域 Built-in B 四种作用域中变量的调用顺序采取“就近原则”,即为 LEGB 局部作用域 指某个函数...

菜鸟的博客 1911

python变量与作用域

变量从作用域分类 作用范围从小到大为,小作用域的可以调用大作用域的内容。 局部 Local 闭包 Enclosing 全局 Global 内建 Build-in 局部变量 局部变量是定义在函数中的,因此其作用域是在函数内部。 def example(): v=1 #局部变量 print(v) 由于局部变量作用域只在函数内部有效,因此程序会报错 Traceback (most rec...

ACTerminate的博客 2797

python变量作用域 if,Python 变量作用域

变量作用域(scope)在Python中是一个容易掉坑的地方。Python的作用域一共有4中,分别是:L (Local) 局部作用域E (Enclosing) 闭包函数外的函数中G (Global) 全局作用域B (Built-in) 内建作用域以 L --> E --> G -->B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者...

weixin_39980841的博客 2188
上一篇: 发放工资(python)
下一篇: 银行ATM系统(python)
小柚柚0.o
博客等级 码龄4年 170粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值