Python函数(三)-局部变量
全局变量
全局变量在函数中能直接访问
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" name = 'John' def test():
print(name) test()
运行结果
但是全局变量的值(数字,字符串)不会被函数修改
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" name = 'John' def test(name):
print("before change",name)
name = 'Jack'
print("after change",name) test(name)
print(name)
运行结果
name变量在函数内被修改过,只在函数内有效,不影响全局变量的值,最后打印的全局变量的值还是不变
函数可以修改全局变量定义的列表,字典,集合
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" list_1 = ['Python','php','java']
dict_1 = {'name':'John','age':22}
set_1 = {'Chinese','Art','Math'} def change():
list_1[1] = 'asp'
dict_1['name'] = 'Jack'
set_1.pop() #随机删除一个值
print(list_1)
print(dict_1)
print(set_1) print(list_1)
print(dict_1)
print(set_1)
print("----------------+---------------")
change()
print("--------------After-Change--------------")
print(list_1)
print(dict_1)
print(set_1)
运行结果
全局变量里的列表,字典,集合都在函数内被修改了
局部变量
局部变量就是在函数内定义的变量
直接定义一个局部变量
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" def test():
name = 'John'
print(name) test()
print(name)
运行结果
函数内的局部变量函数外部访问不了,只能在函数内部调用
如果想让局部变量跟全局变量一样可以全局调用,需要用global关键字
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" def test():
global name #把局部变量name设置为全局变量
name = 'John'
print(name) test()
print(name)
运行结果
函数外也能访问到函数内定义的变量了
Python函数(三)-局部变量的更多相关文章
- Python函数(三)
递归函数 在函数内部,可以调用其他函数,如果一个函数的内部调用了自己本身,那么这个函数就是递归函数. 什么?函数还可以自己调用自己?那不是一个死循环吗?请看下例: # 求1-100的和 def sum ...
- python函数返回局部变量,局部&全局变量同名问题
其实关于返回局部变量不只是python的问题,凡是使用堆栈结构处理函数的语言都会有这样的问题,切记不要返回局部变量.因为当创建函数的堆栈撤销,所有对局部变量的修改都灰飞烟灭.来看我的小例子 def h ...
- 简学Python第三章__函数式编程、递归、内置函数
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- Python基础笔记系列九:变量、自定义函数以及局部变量和全局变量
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 变量在前面的系列中也许就可以发现,python中的变量和C中的变量有些许不 ...
- Python之路Python全局变量与局部变量、函数多层嵌套、函数递归
Python之路Python全局变量与局部变量.函数多层嵌套.函数递归 一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局 ...
- Python——函数入门(三)
一.变量作用域 当程序定义一个变量时,这个变量是有它的作用范围的,变量的作用范围称为变量的作用域.根据变量的位置,分为两种: 局部变量:局部变量就是在函数中定义的变量,包括参数,都是局部变量,局部离开 ...
- Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器
Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器 一丶关键字:global,nonlocal global 声明全局变量: 1. 可以在局部作用域声明一 ...
- Python 函数基础、有序集合、文件操作(三)
一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...
- PYTHON 函数局部变量和全局变量
有这样一段PYTHON代码,从事C语言开发的人都知道,如果定义了全局变量,而函数内没有定义同名的函数变量的话,那么在函数内对该变量的赋值就是对全局变量空间数值的修改, 然后在PYTHON中却不尽相同, ...
随机推荐
- python进阶01
基础部分python学完,咱们可以深入了解下python高阶知识点,让我们一起来学习吧! 1.面向对象进阶 1)元类 1.1.1:python创建类原理 python创建类: class Object ...
- 解析3级JSON的例子
我们都知道现在Ajax盛行,而且前后台数据交流的格式已经换成了JSON了.虽然我对这种做法还是有点担忧的,如果用户关闭了JavaScript怎么办?但是这些担忧还是不能阻止Ajax的盛行和JSON数据 ...
- MySQL性能优化-内存参数配置
Mysql对于内存的使用,可以分为两类,一类是我们无法通过配置参数来配置的,如Mysql服务器运行.解析.查询以及内部管理所消耗的内存:另一类如缓冲池所用的内存等. Mysql内存参数的配置及重要,设 ...
- Spring学习之xml配置Bean总结
学习Spring时,我用的是Maven来管理jar包,先看看maven的pom.xml: pom.xml <project xmlns="http://maven.apache.org ...
- Grid_自绘
ZC: 测试使用的控件是 Delphi7版本的 TAdvStringGrid(第3方控件) “DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: ...
- SQL Server中的执行引擎入门
简介 当查询优化器(Query Optimizer)将T-SQL语句解析后并从执行计划中选择最低消耗的执行计划后,具体的执行就会交由执行引擎(Execution Engine)来进行执行.本文旨在 ...
- java:jsp: 一个简单的自定义标签 tld
java:jsp: 一个简单的自定义标签 tld 请注意,uri都是:http://www.tag.com/mytag,保持统一,要不然报错,不能访问 tld文件 <?xml version=& ...
- 冒泡排序的PHP实现 Bubble Sort
冒泡排序Bubble Sort的PHP实现.代码中函数说明: out_arr,用于将数组输出成一个字符串,以便查看 bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的 bub ...
- 配置SSH密码登录
在客户端生成公钥: ssh-keygen –t rsa 生成的公钥默认位置在~/.ssh/目录 把公钥上传到服务器端: scp id_rsa.pub root@ip地址:文件保存路径 cat id_r ...
- Linux下安装scrapy包出错
pip install -i https://pypi.douban.com/simple/ scrapy 出现错误: error: command 将依赖包装全. sudo apt-get inst ...