python中函数外定义的变量在函数内可以使用吗

例如:
i=0
def fx(q):
q=i
return q
这样写可以吗,将形参q赋值为0

你写的只是引用,也可以说读取是可以的,但不能修改。

比如这样写,外面的i 仍然=0 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-14
严格的说,象你这么用是绝对属于没有定义的。不过有时候又可以是因为,如果你在程序开头函数前面定义一些变量,原则上它会自动变成global的。 除非你另外启线程,或者是有可能有与它重名的变量,否则可以直接在函数体内使用,当然也可以在后面的语句中使用。函数式编程要记着IPO这个准则。就是每个函数最好都是有输入input有输出output。函数体就是处理process。尽量不要使用全局变量,也不要使用默认值。一个正规的做法是这样: def example(a): a=0 return a a=1 print example(a) 这是一个标准用法,你就不用为global变量头痛了。
相似回答