python学习:作用域

一:首先看一段小程序

<strong><span style="font-size:18px;">k = 0;
def changek():
    k = 10;
changek()
print k</span></strong>

定义一个变量k

定义一个函数changex

在changex内部,将10赋值给k

打印x

执行结果为: 0

说明:k是全局变量,而changex中声明的是另外一个局部变量。此k非彼k,执行完changex,函数内部的k就消失。跟java类似。

二:如果在函数内部使用全局变量

<strong><span style="font-size:18px;">k = 0;
def changek():
    global k
    k = 10
changek()
print k</span></strong>

三:总结:

1、global---将变量定义为全局变量。可以通过定义为全局变量,实现在函数内部改变变量值。

2、一个global语句可以同时定义多个变量,如 global x, y, z

时间: 2024-11-05 23:17:43

python学习:作用域的相关文章

Python学习之变量的作用域

学习地址:http://www.jianshu.com/p/17a9d8584530 1.变量作用域LEGB 1.1变量的作用域 在Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域.python的作用域是静态的,在源代码中变量名被赋值的位置决定了该变量能被访问的范围.即Python变量的作用域由变量所在源代码中的位置决定. 1.2高级语言对数据类型的使用过程 一般的高级语言在使用变量时,都会有下面4个过程.当然在不同的语言中也会有

Python 学习笔记 - 作用域小知识

Python的作用域和其他语言有所不同,他有几个小窍门来判断作用域. 1. Python里面没有块级别的作用域:只有函数级别的作用域. 比如说,下面这个例子,如果是Java或者其他语言,肯定报错name没有定义.Python里面因为不存在块级别的作用域,因此name直接就输出9了 >>> for i in range(10):     name=i print(name) ---------- 9 2. 作用域链的顺序是从内往外找,直到找不到为止 例如 >>> def 

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

OpenCV for Python 学习 (二 事件与回调函数)

今天主要看了OpenCV中的事件以及回调函数,这么说可能不准确,主要是下面这两个函数(OpenCV中还有很多这些函数,可以在 http://docs.opencv.org/trunk/modules/highgui/doc/user_interface.html 找到,就不一一列举了),然后自己做了一个简单的绘图程序 函数如下: cv2.setMouseCallback(windowName, onMouse[, param]) cv2.createTrackbar(trackbarName,

Python学习的个人笔记(基础语法)

Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅,一开始保存在word上,代码不是很好看,于是决定复制到博客里面,可能有复制过程中出错的,或者我本身在理解方面有出错的地方,希望能得到指正,谢谢  后续的内容我会继续学习…… python下载地址  www.python.org Python 分为2.7和3.3两个版本,3.3有些库不兼容,因此用2.

Python:Python学习总结

背景 PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#.@.@@也好不到哪里(OO人员最该学习的一门语言). Python应该是写起来最舒服的动态语言了,一下是一些读书笔记,最后会介绍一下高级的用法:Mixin.Open Class.Meta Programming和AOP. 文中有些地方是用2.7开发的,如果您安装的是3.x,有几点需要注意: print "xxx" 要换成 print("xxx") __metacla

python学习笔记6-函数变量

python学习笔记6-函数变量 局部变量和全局变量 Python中的任何变量都有特定的作用域 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用得变量我们称为局部变量 在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量我们称为全局变量 [[email protected] ~]# vim value.py #!/usr/bin/python x=100 def fun():     global x     x +=1     global

Python学习记录day3

Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个无序且不重复,可嵌套的元素集合 class set(object):     """     set() -> new empty set object     set(iterable) -> new set object     Build an unordered collection of unique elements.     

python 学习笔记 7 -- Python关键字总结

0.写在前面的话 学习一门语言最重要的功课是练习与复习,在<笨方法学Python>中第三十七节虽然没有教你任何内容,但是它提醒我们:"学了这么多,你还能记得多少?该复习了!" 下面我们就对这一节的第一部分"关键字"来做个复习: Python中的关键字包括如下: and       del        from      not      while    as        elif       global    or       with     

Python学习(二):入门篇:python中流程控制与函数编写

python中流程控制与函数编写 Last Eidt 2014/5/2 转载请注明出处http://blog.csdn.net/jxlijunhao 一,流程控制 1)布尔逻辑 Python中利用True来表示逻辑真,False来逻辑假 not :非 and:与 or   :或 ==  :逻辑等 >>> False==True False >>> False==False True >>> not False True >>> Fal