python在函数内部有没有办法定义全局变量_主函数内部的全局变量python
你想要什么是不可能的*。你可以在全局命名空間中創(chuàng)建一個(gè)變量:
myglobal = "UGHWTF"
def main():
global myglobal # prevents creation of a local variable called myglobal
myglobal = "yu0 = fail it"
anotherfunc()
def anotherfunc():
print myglobal
不要這樣做。
函數(shù)的全部要點(diǎn)是它需要參數(shù)。只需將參數(shù)添加到您的功能。如果你發(fā)現(xiàn)你需要修改很多功能,這表明你應(yīng)該將它們收集到一個(gè)班級中。
*為了詳細(xì)說明為什么這是不可能的:python中的變量沒有聲明 - 它們是在執(zhí)行賦值語句時(shí)創(chuàng)建的。這意味著下面的代碼(從張貼astronautlevel代碼派生)將打破:
def setcake(taste):
global cake
cake = taste
def caketaste():
print cake #Output is whatever taste was
caketaste()
Traceback (most recent call last):
File "prog.py", line 7, in
caketaste()
File "prog.py", line 5, in caketaste
print cake #Output is whatever taste was
NameError: global name 'cake' is not defined
這是因?yàn)楫?dāng)caketaste被調(diào)用時(shí),沒有分配給cake發(fā)生。它只會(huì)在調(diào)用setcake后才會(huì)發(fā)生。
總結(jié)
以上是生活随笔為你收集整理的python在函数内部有没有办法定义全局变量_主函数内部的全局变量python的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nodejs mysql模块_NodeJ
- 下一篇: 一、了解快逸报表