Excel不相邻列如何打印在一起-英雄云拓展知识分享
130
2023-11-07
【摘要】 本书摘自《Python学习笔记 从入门到实战》一书中第6章,第4节,由张学建编著。
6.4 变量的作用域
6.4.1 三种变量作用域
Python 三种变量作用域的具体说明如下所示。
●局部作用域:定义在函数内部的变量拥有一个局部作用域,表示只能在其被声明的函 数内部访问。
●全局作用域:定义在函数外的拥有全局作用域,表示可以在整个程序范围内访问。在 调用一个函数时,所有在函数内声明的变量名称都将被加入到作用域中。
●内置作用域: Python 预先定义的。
注意:既然定义在函数内部的变量拥有一个局部作用域,那么每当执行一个 Python 函 数时,都会创建一个新的命名空间,这个新的命名空间就是局部作用域。如果同一个函数在 不同的时间运行,那么其作用域是独立的。不同的函数也可以具有相同的参数名,其作用域 也是独立的。在函数内已经声明的变量名,在函数以外依然可以使用。并且在程序运行的过 程中,其值并不相互影响。
6.4.2 使用变量作用域
例如在下面的实例代码中,演示了在函数内外都有同一个名称的变量而互不影响的过程。
实例6-12:使用相互不影响的同名变量
源码路径:下载包\daima\66-12
在上述代码中,在函数中声明了变量 a, 其值为整数类型。在函数外声明了同名变量 a, 其值为字符串。在调用函数前后,函数外声明的变量a 的值不变。在函数内可以对a 的值进 行任意操作,它们互不影响。执行后会输出:
全局作用域a:external
在上述实例代码中,因为两个变量a 处于不同的作用域中,所以相互之间不影响,但是 如果将全局作用域中的变量作为函数的参数引用,则就变成了另外的情形,但这两者不属于 同一问题范畴。
另外,还有一种方法使函数中引用全局变量并进行操作,如果要在函数中使用函数外的 变量,可以在变量名前使用关键字 global 。例如在下面的实例代码中,演示了使用关键字 global 在函数内部使用全局变量的过程。
实例6-13:使用关键字 global 在函数内部使用全局变量
源码路径:下载包\daima\6\6-13
6.5.1 访问列表中的元素
例如在下面的实例中,假设有一个“我的好友”列表,要想访问列表中的每位用户。将
一个名字列表传递给一个名为users) 的函数,通过这个函数问候列表中的每个好友。
实例6-14:定义函数 users) 并问候列表中的每个好友
源码路径:下载包\daima\6\6-14
实例文件 userspy 的具体实现代码如下所示。
msg="Hello,"+name.title()+"!" print(msg)
usernames = ['雨夜','好人','落雪飞花 ']
users(usernames)
#设置问候语msg 的 值
#打印显示问候语 msg
#设置参数列表值
井调用函数 users()
在上述实例代码中,将函数 users) 定义成接受一个名字列表的函数,并将其存储在形参 names 中。通过这个函数遍历传递过来的列表,并对其中的每位用户都发送一条问候语。在 第6行代码中定义了 一个用户列表usernames, 然后调用函数users(),并将这个列表传递给它。
执行后会输出:
Hello,雨夜!
Hello, 好人!
Hello, 落雪飞花!
6.5.2 在函数中修改列表
在 Python 程序中,当将列表信息传递给函数后,函数就可以对其进行修改。通过在函 数中对列表进行修改的方式,可以高效地处理大量的数据。例如在下面的实例中,假设某个 用户需要拷贝自己的普通好友列表,复制后移到另一组名为“亲人”的QQ 分组列表中。
实例6 - 15:定义函数 copyO 并复制好友到“亲人”分组
源码路径:下载包\daima\6\6-15
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~