首页/新闻资讯/正文详情

python全局变量和局部变量

发布时间:2026/11/3 2:38:26 来源:云帆数科 栏目:资讯中心
python全局变量和局部变量
1. 现在的人一看就懂, 指的是全局变量这一块的事情。所谓全局变量的定义情况, 它是指在函数外部来定义的变量, 这个状况使得所有函数内部都可以使用到那个变量。所谓局部变量的定义, 是指在一个函数的内部所创建的变量。对于这种变量而言, 它只能在定义了它的这个函数里面得到使用。第一种情况是这样子的, 就是说在一个自定义的函数内部, 去定义一个那个全局变量。在那个地方, 存在一个关键字, 这个关键字的主要作用是用来声明一个全局变量。def first():global keykey 1print(key)def second():print(key)def third():key 3print(key)first()second()third()print(key)结论部分指出, 前文所给出的例子起到了一个说明的作用, 具体而言是用来阐释关于定义全局变量这一事情。咱们采取第二种方案, 那就是先去定义一个全局变量, 然后呢, 再给它进行赋值操作。需要注意的一个情况是, 如果在整个程序的范围内使用key值这种写法的话, 它的意思其实跟在全局里面写一个单独的key, 然后再写一句key值这两句话组合在一起的效果是一样的key 0def first():key 1print(key)def second():print(key)first()second()print(key)2. 在类里面, 这种定义的写法。在一般情况下, 我们需要大量地去使用属性, 与此同时, 我们也需要尽量少地进行属性的使用。在中, 大家可以通过看看变量属性还有方法属性里面是不是带有下划线“_”这个东西来进行区分工作, 这样就能把相应的类型给分开。xx 不存在以那个下划线符号作为开头特征的变量, 同时也并不存在使用此种方式命名的方法情况, 请注意在这里提及的数据内容以及其对应的方法行为, 它们在默认的规则体系之下都是处于一个公开允许使用的类型状态。这个类型是可以被类内或者是类外进行访问的, 同时它也可以被子类所访问, 前提条件是如果要在外部使用的话, 必须得引用到这个类, 这样就能实现全局性的访问操作了。单下划线开头用来表示类型的变量或者方法。这个访问类型只允许让它的本身, 还有它的子类来进行访问, 意思就是在类的内部去使用了的话, 是本类以及其子类可以进行访问的。在代码里面, 那个被标记成受保护的变量它还是能被直接给找到并使用的, 然而, 这种把受保护变量直接拿出来就用的做法, 是不被提倡的, 之所以要这样做, 主要就是因为想要通过一种大家都能默认的规矩来告诉其他一起写代码的人, 这个变量是为了内部自己使用才存在的, 所以才建议不要在类的范围外面就直接去对它进行任何操作, 这种大家都遵守的规矩能够帮着让读代码变得更清晰, 让改代码更简单, 也让整个系统更灵活, 从而能够保护好那些内部的实现细节, 并且减少那些没有必要的从外面进来的依赖关系。你提交的__xx这个词, 它是被那个双下划线给框住的那个形式, 这个情况所代表的意义是, 它是一个私有的那种类型的变量或者是方法。这个类型是只允许在类内部来进行访问的, 外面的其他类还有子类都是不能直接去访问私有成员的。例子class My(object):def __init__(self):self.public_field 5self._protect_filed 8self.__private_field 10def get_private_filed(self):return self.__private_fieldobj My()print(obj.public_field) # 访问 public 属性 --全局访问print(obj._protect_filed) # 访问 protected 属性 --本类、子类访问print(obj.__private_field) # 访问 private 属性会报错 --本类访问3. 中类的实例化class MyObject(object):def __init__(self):self.public_field 5self._protect_filed 8self.__private_field 10在代码里面, self 这个地方用的是一个大家都会遵守的习惯性叫法, 它指的就是那个类对象本身。你要是在写类里面的函数, 也就是定义方法的时候, 排在最前面的那个参数一般是叫作 self 的, 这个 self 就说明了这是个给实例用的方法, 是可以让类创建出来的那些具体对象去直接调用的那个东西。

相关推荐

Python中的全局变量和局部变量详解
Python中的全局变量和局部变量详解

咱们来聊聊那个问题, 就是中, 全局变量还有局部变量在作用域和访问权限这块, 是有着明显的区别。你听好了, 这个全局变量, 它是在整个程序当中都能被访问到的那个类型的东西;而另一方面, 这个局部变量则仅仅只能够在它自己定义的那个函数里面才行。1. 全局变量# 定义… · 2026/11/3 2:38:26

Z-Image-Turbo-GGUF 量化版本怎么选:Q2_K 到 Q8_0 共 14 档显存需求与画质差异全解析
Z-Image-Turbo-GGUF 量化版本怎么选:Q2_K 到 Q8_0 共 14 档显存需求与画质差异全解析

Z-Image-Turbo-GGUF 量化版本怎么选:Q2_K 到 Q8_0 共 14 档显存需求与画质差异全解析 Z-Image-Turbo-GGUF 是 6B 参数 Z-Image-Turbo 文生图模型的 GGUF 量化版本,由 unsloth 团队采用 Unsloth Dynamic 2.0 动态量化方法制作,关键层自动回退… · 2026/11/3 2:38:26

目的地爆火出圈,谁来把热度留下?
目的地爆火出圈,谁来把热度留下?

作者 | 郭鸿云编辑 | Sette最近,开封清明上河园又因为审美被夸了。曾在夏天撑起“接天莲叶无穷碧”的荷叶天幕,入秋后悄悄换成一片金黄色的银杏叶。游客抬头是“一叶知秋”,低头便举起手机。看似只是换了一套布景,游园体验却又一次… · 2026/11/3 2:38:26

Jev 深度解析:TypeSafe AI 编程 SDK 与 API 接入实战指南
Jev 深度解析:TypeSafe AI 编程 SDK 与 API 接入实战指南

1. 先搞清楚 Jev 到底是个什么东西1.1 从热搜词里扒出 Jev 的真实身份最近这段时间,不管你是刷技术社区还是翻聊天群,大概率都看到过“Jev”这个词。有人把它跟 Claude Code 放在一起聊,有人问“jev模型官网地址”在哪,还有人到处… · 2026/11/3 4:14:45

离散数学逻辑核心:命题逻辑、真值表与谓词逻辑推理
离散数学逻辑核心:命题逻辑、真值表与谓词逻辑推理

离散数学里,"逻辑"这一章是最容易被低估的部分。不少人图论能刷、组合能推、关系闭包算得飞快,一到命题逻辑的真值表就开始凭感觉填,一到谓词逻辑的翻译题就开始自由发挥。我自己当年也是这样过来的,后来带过几轮课、也… · 2026/11/3 4:14:45

Jev 深度解析:TypeSafe AI 如何用类型约束让模型输出可靠
Jev 深度解析:TypeSafe AI 如何用类型约束让模型输出可靠

1. 从热搜词里拆解 Jev 的真实身份第一次看到"Jev"这个词冲上热搜的时候,我下意识以为是某个新出的前端框架或者又一个换皮的聊天客户端。但把相关热搜词铺开一看——TypeSafe AI、System One Model、分类模型、SDK、XGBoost 二分类模型、斯坦福教授用它构… · 2026/11/3 4:14:45

QtCreator中文乱码问题解决方案与编码原理
QtCreator中文乱码问题解决方案与编码原理

1. 问题现象与背景分析在QtCreator 4.10.2环境下开发Qt应用程序时,很多开发者会遇到一个典型的中文编码问题:当使用qDebug()输出包含中文字符的调试信息时,控制台显示的却是乱码字符。这个看似简单的问题背后,实际上涉及了Qt框架的… · 2026/11/3 4:14:45

现代Web开发与API设计:核心架构与最佳实践
现代Web开发与API设计:核心架构与最佳实践

1. Web开发与API:现代应用的核心构建方式在今天的互联网环境中,Web开发已经远远超越了简单的网页制作。作为一名从业十余年的全栈开发者,我见证了从静态HTML到如今复杂应用架构的演变历程。API(应用程序编程接口)作为连… · 2026/11/3 4:14:45

排序算法核心原理与工程实践优化指南
排序算法核心原理与工程实践优化指南

1. 排序的本质与人类认知排序是人类认知世界最基础的方式之一。从我们记事起,父母就教我们按大小排列积木;上学后老师让我们按成绩排名;超市里商品按价格从低到高陈列;图书馆的书籍按编号整齐摆放——这些看似简单的行为背后&… · 2026/11/3 4:13:44

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码