博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python全局参数与局部参数
阅读量:5032 次
发布时间:2019-06-12

本文共 948 字,大约阅读时间需要 3 分钟。

一:全局参数与局部参数的典型举例

①:在函数外定义name并在函数内定义name

>>> name='louis'>>> def fun():    name='wedi'    print(name)>>> fun()wedi>>> print(name)louis>>>

②:在函数外定义name并在函数内直接引用

>>> name='louis'>>> def fun():    print(name)>>> fun()louis>>> print(name)louis

由上第一个例子可知,函数虽然对name重新赋值,但并没有覆盖函数前已经定义了的name,故函数内的name为局部参数,由第二个例子可知全局参数可被函数直接引用。综上可知,函数调用的过程为,先查询局部内是否定义,如有则直接使用,否则向上一级查找。直至找到为止,且局部重新赋值后,该值只能在函数内使用,并不影响全局参数。

二:就要局部修改,同时全局也跟着变

>>> name='louis'>>> def fun():    global name    name='wedi'    print(name)>>> fun()wedi>>> print(name)wedi

由上可知,只需要加global关键字,name就是全局变量。同时需要注意的是,name='wedi',不可在global关键字前。

三:在函数内对全局可变变量追加与删除

>>> name=['louis','james']>>> def fun():    name.append('barry')    print(name)>>> fun()['louis', 'james', 'barry']>>> print(name)['louis', 'james', 'barry']

其实变量就是内存的一个地址的指向名称,当该内存地址内的内容为可变时,局部变量就可修改,但内存指向任然不变;当内存地址指向的内容为不可变时,局部变量的赋值,就是在内存里重新开拓内存块存储值,但函数执行完毕,变量的内存指向将重新指向全局变量的内存地址。

 

转载于:https://www.cnblogs.com/louis181214/p/10172734.html

你可能感兴趣的文章
android 拍照上传照片
查看>>
ArchLinux安装开源VMware Tools
查看>>
系统用户分析模型
查看>>
DB2 锁升级示例1
查看>>
16.RDD实战
查看>>
MainFrame知识小结(20120210)—dfsort/syncsort中的数据类型
查看>>
jsp题库 (一)小测(25/21)
查看>>
D - Flip tile
查看>>
Java连接RabbitMQ之创建连接
查看>>
开户vim编程之--cscope支持
查看>>
python数据类型图解
查看>>
C#微信登录-手机网站APP应用
查看>>
HTML5实践 -- iPhone Safari Viewport Scaling Bug
查看>>
一位数据挖掘成功人士 给 数据挖掘在读研究生 的建议
查看>>
Python3.6.0安装
查看>>
hdu1049
查看>>
H5项目常见问题及注意事项
查看>>
索尼(SONY) SVE1512S7C 把WIN8降成WIN7图文教程
查看>>
时间模块 && time datetime
查看>>
jquery自动生成二维码
查看>>