【Python技巧】全局变量global和局部变量local
- 全局变量就是放在函数外面的变量
- 函数内可以直接访问全局变量
- 函数内定义的变量是局部变量
- 同名的局部变量会覆盖全局变量
- 函数内修改全局变量需要用global
- 全局变量不是真的全局变量,只是在模块内全局变量(不能直接import到其他文件中)
一、全局变量可以在函数中直接访问
全局变量可以在函数中直接访问(直接读取他的值,而不是改写它)
a = 8def f1():print(a)
f1()
>>> 8
# 全局变量可以在函数中直接访问(直接读取他的值,而不是改写它)
二、函数内定义的变量是局部变量
同名的局部变量会覆盖全局变量
def f2():print(a)a = 18
f2()
>>> UnboundLocalError: local variable 'a' referenced before assignment
# 在函数中给变量赋值是局部变量,当一个全局变量和一个局部变量同名的时候,只有局部变量起作用,全局变量不起作用
三、同名的局部变量会覆盖全局变量
a=18,表示定义了一个局部变量,在函数中局部变量会覆盖全局变量
def f3():a = 18print(a)
f3()>>> 18
# a=18,表示定义了一个局部变量,在函数中局部变量会覆盖全局变量
四、函数内修改全局变量需要用global
声明global之后,会声明此时所用值为函数外面的值;从而改变的值,也是全局变量a
def f4():global a a = 18print(a)
f4()
print(a)>>> 18
>>> 18
# 声明global之后,会声明此时所用值为函数外面的值;从而改变的值,也是全局变量a
参考资料:https://www.bilibili.com/video/BV1b741157vV?spm_id_from=333.337.search-card.all.click
【Python技巧】全局变量global和局部变量local相关推荐
- python十四:全局变量(global)与局部变量与上一级变量(nonlocal)
# 全局变量 name = "关羽" print(name)def globalVar():global name # global 可以引用上面声明的namename = &qu ...
- python中全局变量global的使用
全局变量中global的使用 在一个函数中,对全局变量进行修改的时候,是否需要使用global进行说明要看是否对 全局变量的执行指向进行了修改 如果修改了执行指向,即让全局变量指向了一个新的地方,那么 ...
- [Python学习] 专题六.局部变量、全局变量global、导入模块变量
定义在函数内的变量有局部作用域,在一个模块中最高级别的变量有全局作用域.本文主要讲述全局变量.局部变量和导入模块变量的方法. 参考:<Python核心编程 (第二版)> 一 ...
- 8.局部变量/全局变量global/内嵌函数/闭包nonlocal
函数:有返回值 过程:无返回值 注解:在python中,只有函数(每个函数都有返回值),没有过程>>> def hello():print("first")> ...
- Python实用技巧:global关键字的用法详解
这篇文章主要介绍了python global关键字的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下: 想要更好的了解global关键字,首先 ...
- python中全局变量和局部变量的区别_Python全局变量与局部变量区别及用法分析
本文实例讲述了Python全局变量与局部变量区别及用法.分享给大家供大家参考,具体如下: 对于很多初学的同学,对全局和局部变量容易混淆,看看下面给大家的讲解相信都应该明白两者的区别了. 定义: 全局变 ...
- 关于python的全局变量和局部变量、以下不正确_python3的全局变量和局部变量
局部变量 定义在函数体内部的变量称为局部变量 函数的形参也是局部变量 局部变量的作用范围只在声明该局部变量的函数体内 局部变量在函数调用时被创建,在函数调用完成后自动销毁 全局变量 定义在函数体外,模 ...
- python中全局变量和局部变量详解
写在最前面: python中全局变量和局部变量的最大区别在于局部变量只能通过函数去访问,而全局变量可以直接访问. !!! 我们先来看一个最简单的例子,事实上这并不是一个真正的全局变量,只是在类中的一个 ...
- python中全局变量和局部变量关键字_Python中全局变量和局部变量的理解与区别
前言 学过编程的人应该对全局变量与局部变量这两个名词并不陌生,Python也同多数编程语言一样,也有全局变量与局部变量的概念 但是与其他编程语言又有所不同 全局变量与局部变量两者的本质区别就是在于作用 ...
最新文章
- Ext 整合 Jquery
- JDBC、分层(分包)
- SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版
- 学php还是golang,学swoole还是golang
- 明天上线!部分开发者手机已安装鸿蒙OS:超流畅,可装安卓应用
- Hibernate SqlQuery
- 从一次线上故障思考Java问题定位思路
- 银河水滴打响步态识别商用第一枪!3大产品1.35亿订单,工业视觉平台免费开放...
- Error running app: Default Activity Not Found
- ArcGIS Maritime Server 开发教程(七)Maritime Server 正确的开发模式
- 算法复习——割点(洛谷3388)
- iOS 使用CocoaPods
- fabric2.0 概念, peer、账本和排序服务
- android设置背景色为全透明和半透明
- c语言建立26个字母的顺序表,线性表的操作建立一个含26个英文字母的数据元素的线性表并输出该表 爱问知识人...
- 泰国证券交易所预计将在本月批准5个ICO项目
- Moodle平台——API
- 虚拟化之Proxmox VE集群管理工具pvecm介绍和使用
- Linux ** is not in the sudoers file. This incident will be reported.
- 台式计算机主要有哪些硬件组成,计算机的硬件组成有哪些?计算机的硬件组成介绍...
热门文章
- 禁止文件被蜘蛛程序查看的说明
- 利用OSGBLab对倾斜摄影OSGB的建筑进行立面出图
- java 结束 线程结束_Java结束线程的三种方法(爱奇艺面试)
- 7-19 循环-分数矩阵 (50 分) 我们定义如下矩阵: 1/1 1/2 1/3 1/2 1/1 1/2 1/3 1/2 1/1 矩阵对角线上的元素始终是1/1
- GBK 编码不兼容问题
- Nginx -- 正向代理和反向代理粗解
- 一篇文章说清楚视频查重的底层逻辑和去重的方法
- flutter-lol云顶之弈助手app
- Linux简易DDNS配置教程
- Nuxt框架使得服务器内存溢出