python 局部变量输出到全局_Python局部变量与全局变量
Python中的局部全局与全局变量主要体现在函数内的变量与函数外的变量。
局部与全局就是变量的作用域(作用范围)。
当你在函数内部定义变量的时候,它们与函数外具有相同名称的变量没有任何关系,即变量对于函数来说是 局部 的。这也是这个变量的 作用域 。
所有的变量的作用域是它们被定义的块,从它们被定义的地方开始。
使用局部变量:
#!/usr/bin/env python
# Filename: func_local.py
# -*- encoding:utf-8 -*-
def func(x):
print 'x is', x
x = 2 # 定义函数内的变量
print 'Changed local x to', x
x = 50 # 这里定义了全局变量
func(x)
print 'x is still', x
输出结果:
x is 50
Changed local x to 2
x is still 50
在函数中,我们第一次使用的 x 的值的时候,Python使用函数声明的形参的值。
接着,我们把数值 2 赋值给 x 。x是函数func的局部变量,它的作用域只能在函数内部。所以,当我们改变 x 的值的时候,在主块中定义的 x 不受影响。
在最后的 print 语句中,证明了主块中的 x 的值确实受到影响。
使用 global 语句 声明全局变量:
如果你想要为一个定义在函数外的变量赋值(即想要在函数内改变主块中的变量),那么我们就必须告诉Python这个变量不是局部的,而是 全局 的。我们可使用 global 关键字来声明。如果不使用 global 是不能为定义在函数外的变量赋值的。
你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而不建议这么做,因为这使得程序的读者不清楚这个变量是在哪里定义的。使用 global 可以清楚的表明变量是在外面的块定义的。
#!/usr/bin/python
# -*- encoding:utf-8 -*-
# Filename: func_global.py
def func():
global x # 声明变量 x 是全局变量
print 'x is', x
x = 2 # 在函数内部为全局变量 x 赋值
print 'Changed local x to', x
x = 50
func()
print 'Value of x is', x
输入结果:
x is 50
Changed global x to 2
Value of x is 2
使用 global 关键字在函数内声明了变量 x 是全局的,因此,我们在函数内为 x 赋值的时候,这个变化也反映在我们在主块中使用 x 的值的时候。
你可以用同一个 global 指定多个全局变量。如:global x,y,z。
注意两点:
1、如果想要在函数内部去改变主块中的的变量值,需要在函数内部声明这个变量为全局变量;
2、如果在函数内部不使用 global 声明与主块中同名的变量,那么这个变量会覆盖主块的变量,在函数内而不会使用全局变量,如例一。
python 局部变量输出到全局_Python局部变量与全局变量相关推荐
- python怎么输出斜杠_python如何输出反斜杠
python如何输出反斜杠,斜杠,字符串,引号,几个,写法 python如何输出反斜杠 易采站长站,站长之家为您整理了python如何输出反斜杠的相关内容. python本身使用 \ 来转义一些特殊字 ...
- 莫烦python学习笔记之全局,局部变量
局部变量 在 def 中, 我们可以定义一个局部变量, 这个变量 a 只能在这个功能 fun 中有效, 出了这个功能, a 这个变量就不是那个局部的 a. APPLY = 100 # 全局变量 def ...
- 用python倒序输出一个字符串_Python 反转字符串(reverse)的方法小结
前段时间看到letcode上的元音字母字符串反转的题目,今天来研究一下字符串反转的内容.主要有三种方法: 1.切片法(最简洁的一种) #切片法 def reverse1(): s=input(&quo ...
- 用python倒序输出一个字符串_Python字符串逆序输出的实例讲解
1.有时候我们可能想让字符串倒序输出,下面给出几种方法 方法一:通过索引的方法 >>> strA = "abcdegfgijlk" >>> st ...
- python控制台输出到文件_Python print 立即打印内容到重定向的文件
看到本文标题也许要奇怪了,Python 的 print 难道不是也上可以看到结果的吗?在 Python shell 下只要 >> print('Hello world!') Hello w ...
- python怎么输出一个数组_python中实现将多个print输出合成一个数组
比如有下面一段代码: for i in range(10): print ("%s" % (f_list[i].name)) 该代码段的执行,会生成如下的10行"name ...
- python换行输出到文件_Python的quot;printquot;函数在“Hello World”之外的延伸
想必任何一个人学习python的第一件事就是学习怎么去输出字符串"hello world",就像你期望的那样,这段代码是非常简洁的: 确实,python的"print&q ...
- python怎么输出所有奇数_python输出100以内奇数的几种输出方式-Go语言中文社区
自从看了一些Python的一些基础语言之后,发现Python这门语言还是蛮有趣啊,很多计算用Python效率还是蛮高啊,几行就搞定了.比方说输出100以内的奇数,用其他语言,可能都是先for循环遍历1 ...
- 编写python程序输出数学表达式_Python基本编程题
问题1:仅使用 Python 基本语法,即不使用任何模块,编写 Python 程序计算下列数学表达式的结果并输出,小数点后保留3位. ...
最新文章
- 弹性网络_理论物理所建立解析模型研究凝胶网络弹性介导的液液相分离现象
- P1155 双栈排序(二分图染色)
- java中怎么固定间距_java中的GridBagLayout是怎么调组件间距的...
- Linux内存释放脚本
- 【C语言练习】将100~200之间的素数输出
- KUDU--秒级查询的数据仓库
- 64位Visual Studio 2022,微软在下一盘大棋!
- datagrip jdbc驱动_datagrip离线安装驱动jar
- 常用CNN网络(AlexNet,GoogleNet,VGG,ResNet,DenseNet,inceptionV4)适合初学者
- 经典书单 —— 机器学习/深度学习/AI/CV/PGM
- vue 类型字段除了用select框_pumelo-select
- wiquery ResizePanel
- Layui Ajax请求时加上 load 加载效果
- 闲置域名解析到自己的博客
- linux运行roon,Roon + HQPlayer + NAA + 解码 网线直连方案
- css写字体浮雕效果,使用CSS3的text-shadow制作浮雕文字阴影和多重文字阴影效果-网站程序网...
- python根据身高计算标准体重_有谁知道如何根据身高计算标准体重
- 中国古代衣食住行 3
- Unity自定义创建脚本模板菜单
- 零基础入门进化算法(基本概念)