热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python全局变量含义_如何最简单、通俗地理解Python的局域变量、全局变量?

目录:一、笔记二、我的自学路线三、笔记目录一、笔记①局部变量是在函数内部定义的变量,只能在函数内部使用,在函数外不可调用。②全局变量是在函

目录:

一、笔记

二、我的自学路线

三、笔记目录

一、笔记

① 局部变量是在函数内部定义的变量,只能在函数内部使用,在函数外不可调用。

② 全局变量是在函数外部定义的变量(没有定义在某一个函数内),但是函数内部和外部都可以使用这个变量。

③ 大都不推荐使用全局变量因为其可变范围太大,导致程序不好维护。

④ 对于不可变类型的全局变量来说,如num=,要在函数中修改需要global声明,那么才可以在函数外打印函数中已经修改后的值。

⑤ 对于可变类型的全局变量来说,要在函数中修改可以不使用global声明,可以在函数外直接打印函数内修改后的值。

⑥ 无论是可变类型,还是不可变类型的局域变量,都不可以在函数外调用,需要用global声明局域变量,那么才可以在函数外打印局域变量,并且用global后在函数外还可继续进行修改。

# 可变类型的全局变量b,例如:

def ChangeInt(b):

b.append(6)

print("函数内b:",b) # 打印出来为[1,2,3,4,6]

b = [1,2,3,4]

ChangeInt(b)

print("函数内b:",b) # 打印出来为[1,2,3,4,6]

运行结果:

函数内b: [1, 2, 3, 4, 6]

函数内b: [1, 2, 3, 4, 6]

# 不可变类型的全局变量b,例如:

def ChangeInt(b):

b = 10

print("函数内b:",b) # 打印出来为10

b = 2

ChangeInt(b)

print("函数内b:",b) # 打印出来为2

运行结果:

函数内b: 10

函数内b: 2

# 报错,因为用global,不能用入口参数传入变量,参数为一个值,不是变量

def ChangeInt(b):

global b

b = 10

print("函数内b:",b) # 打印出来为10

b = 2

print("进入函数前b:",b) # 打印出来为2

ChangeInt(b)

print("退出函数后b:",b) # 打印出来为10

运行结果:

File "", line 3

global b

^

SyntaxError: name 'b' is parameter and global

# 不可变类型的全局变量b,例如:

def ChangeInt():

global b

b = 10

print("函数内b:",b) # 打印出来为10

b = 2

print("进入函数前b:",b) # 打印出来为2

ChangeInt()

print("退出函数后b:",b) # 打印出来为10

运行结果:

进入函数前b: 2

函数内b: 10

退出函数后b: 10

# 报错,不可变类型的局域变量a,不可以在函数外调用

def ChangeInt():

a = 10

print("函数内b:",a) # 打印出来为10

ChangeInt()

print("退出函数后b:",a) # 打印出来为10

运行结果:

函数内b: 10

--------------------------------------------------------------------------- NameError Traceback (most recent call last) in 4 print("函数内b:",a) # 打印出来为10 5 ChangeInt() ----> 6 print("退出函数后b:",a) # 打印出来为10 NameError: name 'a' is not defined

# 不可变类型的局域变量d,例如:

def ChangeInt():

d = [1,2]

print("函数内b:",d) # 打印出来为10

ChangeInt()

print("退出函数后b:",d) # 打印出来为10

运行结果:

函数内b: [1, 2]

--------------------------------------------------------------------------- NameError Traceback (most recent call last) in 4 print("函数内b:",d) # 打印出来为10 5 ChangeInt() ----> 6 print("退出函数后b:",d) # 打印出来为10 NameError: name 'd' is not defined

# 不可变类型的局域变量b,例如:

def ChangeInt():

global a

a = 10

print("函数内b:",a) # 打印出来为10

ChangeInt()

print("退出函数后b:",a) # 打印出来为10

b = 11

print("修改后b:",a) # 打印出来为11

运行结果:

函数内b: 10

退出函数后b: 10

修改后b: 11

二、我的自学路线

01 安装Python编辑器 [ 已整理 ]

02 Python编译器快捷键 [ 已整理 ]

03 Python基础 [ 已整理 ]

04 Python难点 [ 已整理 ]

05 Python常用的库 [ 已整理 ]

06 爬虫 [ 整理ing ]

07 NLP [ 看视频ing ]

三、笔记目录

1) Python 编辑器

2) Python 基础

( ……更多笔记,见专栏 )

"♥我的笔记,希望对你有帮助♥"



推荐阅读
  • 全文共3708字,预计学习时长10分钟图源:unsplashPthon之所以能成为世界上最受欢迎的编程语言之一,与其整体及其相关库的生态系 ... [详细]
  • 之前在命令行下面打印JSON的时候统统都是Cat,然后将结果复制到支持JSON解析的编辑器里面,非常曲折。简单的搜索了一下之后,在StackOverflow上找到了一篇文章。支持率 ... [详细]
  • 【原创】响应式网页设计基础【从零开始】
    2019独角兽企业重金招聘Python工程师标准响应式网页设计基础【从零开始】如今的互联网事业突飞猛进,可谓一日千里。响应式网页设计凭借其能为开发者提高开发效率 ... [详细]
  • awk if 包含_千面 awk | Linux 中国
    awk命令不仅提供了简单的输入字符串筛选功能,还包含提取数据列、打印简单文本、筛选内容——甚至做一些数学计算。--SandraHenry-stockerawk命令不仅 ... [详细]
  • 提高数据库处理速度的利器——MySQL存储过程详解
    数据库|mysql教程处理速度,MySQL,存储过程数据库-mysql教程秒支付宝源码,评价vscode,ubuntu没有文件或目录,tomcatrfc,sqlite写入太慢,服务 ... [详细]
  • HTML文档是互联网上的主要文档类型,但还存在如TXT、WORD、Excel、PDF、csv等多种类型的文档。网络爬虫不仅需要能够抓取HTML中的敏感信息,也需要有抓取其他类型文档的能 ... [详细]
  • 二、集成开发环境的重要特性本章描述了Eclipse中的几个重要特性和一个对开发安卓应用有用的 ... [详细]
  • 得物3D球鞋背后的渲染引擎的秘密|Filament
    原创2022-05-1609:52·得物技术作者|得物技术-王俊杰对于PBR材质来说,想要通过PBR属性还原真实的渲染效果,需要有一定的材质编辑能力。材质编辑工具通过提供实时编辑材 ... [详细]
  • 玩Python爬虫的必备知识清单
    玩Python爬虫的必备知识清单于2020-4-26重构可以指明学习路线与方向文章目录玩Python爬虫的必备知识清单你需要知道的基本概念你需要掌握的库你需要掌握的数据解析你需要掌 ... [详细]
  • 一道python笔试题
    后端开发|Python教程python笔试题后端开发-Python教程hmtl源码,ubuntu怎么编辑文件,远程访问阿里云tomcat,爬虫得物,vue动态路由php,百度竞价数 ... [详细]
  • 杂记 C中的volatile
    volatile就象大家更熟悉的const一样,volatile是一个类型修饰符(typespecifier)。它是被设计用来修饰被不同线 ... [详细]
  • 开发笔记:Java类的生命周期浅析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java-类的生命周期浅析相关的知识,希望对你有一定的参考价值。简述:Java虚拟机为Java程序 ... [详细]
  • 对象与对象之间的成员变量是相互独立的.要想共用数据,则需要使用静态成员或静态方法#只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变 ... [详细]
  • 如何在jieba分词中加自定义词典_常见中文分词包比较
    1jiebajieba.cut方法接受三个输入参数:需要分词的字符串;cut_all参数用来控制是否采用全模式;HMM参数用来控制是否使用HMM模型ji ... [详细]
  • 成对数据T检验实例(用SPSS16.0实现)
    一、成对数据T检验原理在对两个总体均值进行比较时,有时数据是成对出现的,此时若采用两独立样本T检验所得出的结论有可能是不对的,此时应采用成对数据T检验的方法,原因如下:成对数据的差 ... [详细]
author-avatar
耿佳霖彦婷淑云
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有