作者qrtt1 (愚人)
看板Python
标题Re: [问题] 请问global
时间Thu Sep 6 09:09:39 2007
※ 引述《amend (人人有功练)》之铭言:
: global在python里面是指令吗??
: 功能是做什麽的阿..
: 看不太懂...请高手解答~
# -*- coding: utf-8 -*-
foo = 0
def func(val):
foo = val
print foo
print foo
func(123)
print foo
==========================
0
123
0
执行第一个 print foo 会印出 0 是用了最前面的 foo = 0
而由 func 中印出的是在 func 里的 foo 印出
离开了 func 外, 又印出了原先的 0
--------------------------------------------------------------------
python 没有变数宣告, 只要你在一个符合变数的名字上
使用 = (assignment) 就会依指定的值建立适当型态的变数
所以这只程式, 共建二了个 foo
一个在 module 开始, 一个在 func 开始
global 是告诉直译器, 你不要新建一个, 而是在 module 中找
--------------------------------------------------------------------
还有二个相关的函式可以玩
foo = 0
bar = 3
orz = 7
def inLocal():
xd = 1
orz = 2
print locals()
print globals()
inLocal()
{'bar': 3, '__builtins__': <module '__builtin__' (built-in)>, '__file__':
'C:\\Users\\qrtt1\\workspace\\pyTest\\src\\test.py', 'inLocal': <function
inLocal at 0x012203F0>, 'orz': 7, '__name__': '__main__', 'foo': 0,
'__doc__': None}
{'orz': 2, 'xd': 1}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.80.216
※ 编辑: qrtt1 来自: 220.133.80.216 (09/06 09:13)
1F:推 amend:谢谢q大 09/11 02:08