当前位置:网站首页>实例042:变量作用域
实例042:变量作用域
2022-08-10 02:01:00 【懒笑翻】
题目:学习使用auto定义变量的用法。
程序分析:python中的变量作用域。
Python 局部变量global,全局变量local ,非局部变量nonlocal ,Enclosing function locals作用域_懒笑翻的博客-CSDN博客
一、解题思路:
在C中,auto自动存储类型,一般我们很少在程序中显示申明变量为auto类型。因为代码块中的变量缺省情况下就是这种类型,这种类型的变量存放于堆栈中, 也就是说只有程序执行这些代码块时这种自动变量才会被创建,代码块执行结束后自动变量便被释放。 auto int num = 1 也就是说,只有再执行这行代码 auto变量中的num才会存在,这行代码执行结束后,这个auto变量将会自动释放。 我们知道Python不需要申明变量,变量一旦初始化,类型和值便确定了。根据值得类型来确定变量的类型。 在Python中,不存在auto关键字 # import keyword # # print(keyword.kwlist) # print(keyword.iskeyword('auto')) 如果你试图在pycharm中输入auto,编辑器大概会提示你输入autopep8,不要以为这是auto在python中的写法 使用autopep8,以PEP 8规范,自动排版Python代码 autopep8是一个开源的命令行工具,它能够将Python代码自动格式化为PEP8风格。autopep8使用pycodestyle工具来决定代码中的哪部分需要被格式化,这能够修复大部分pycodestyle工具中报告的排版问题。autopep8本身也是一个Python语言编写的工具,我们可以直接使用pip进行安装 没有auto关键字的话,可以使用变量作用域来举例 在python中默认局部变量local 全局变量用global
二、代码:
def my_global():
global g
g = 99
print('my_global', g)
n = 11
def my_nonlocal():
# nonlocal 一般是用在闭包函数中, nonlocal声明的变量在上级局部作用域内,而不是全局定义
nonlocal n
n = 22
my_nonlocal()
print('n', n)
my_global()
print('g', g)
三、运行结果
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓懒笑翻诚邀你点击下方一起来学习讨论↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
边栏推荐
- Database management tool: dynamic read-write separation
- Nacos源码分析专题(五)-Nacos小结
- Unity3D创建道路插件EasyRoads的使用
- MySQL:日志系统介绍 | 错误日志 | 查询日志 | 二进制日志:bin-log数据恢复实践 | 慢日志查询
- 桌面云组件介绍与安装
- 中级xss绕过【xss Game】
- 2022.8.9 Remainder of Exam Balance--1000 Question Solutions
- [Kali Security Penetration Testing Practice Tutorial] Chapter 6 Password Attack
- 2022.8.9考试平衡的余数--1000题解
- 翻译工具-翻译工具下载批量自动一键翻译免费
猜你喜欢
LeetCode 每日一题——1413. 逐步求和得到正数的最小值
数组(一)
ArcGIS Advanced (1) - Install ArcGIS Enterprise and create an sde library
翻译工具-翻译工具下载批量自动一键翻译免费
T5: Text-to-Text Transfer Transformer
量化交易策略介绍及应用市值中性化选股
[Kali Security Penetration Testing Practice Course] Chapter 9 Wireless Network Penetration
STM32F103驱动HCSR04超声波测距显示
牛客刷题——剑指offer(第四期)
Open3D 泊松盘网格采样
随机推荐
Introduction and application of quantitative trading strategies
ImportError: Unable to import required dependencies: numpy
OpenCV图像处理学习一,加载显示修改保存图像相关函数
The flask to add and delete
[Swoole Series 3.5] Process Pool and Process Manager
Will signal with different start time alignment
【8.8】代码源 - 【不降子数组游戏】【最长上升子序列计数(Bonus)】【子串(数据加强版)】
自动化测试中,测试数据与脚本分离以及参数化方法
数组(一)
liunx PS1 设置
进程管理和任务管理
P1564 Worship
OpenCV图像处理学习二,图像掩膜处理
2022年8月1日-8月7日(本周10小时,合计1422小时,剩余8578小时)
【二叉树-中等】1104. 二叉树寻路
数据库治理利器:动态读写分离
2022.8.8考试区域链接(district)题解
微生物是如何影响身体健康的
storage of data in memory
【二叉树-中等】2265. 统计值等于子树平均值的节点数