Python 怎么从定义的函数之外调用其中的变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 怎么从定义的函数之外调用其中的变量相关的知识,希望对你有一定的参考价值。
这涉及到变量的生命周期问题,一般的,在函数里面声明的变量在函数外是不起作用的。
一个比较简单的解决办法是你在函数外就先声明这个变量,声明成全局变量。然后在函数里面进行操作和赋值。
最后就能在函数外获取变量的值了。例如:
x = 0def a():
x = 2
if __name__ == '__main__':
a()
print x
最终x打印出来的结果就是2
参考技术A # -*- coding:utf8 -*-from Tkinter import *
from tkFileDialog import
askopenfilename
root = Tk()
root.title()
root.geometry()
def open_file():
file_path = askopenfilename(filetypes=(("files", "*.txt"),("All files", "*.*")))
t.insert(END, file_path +'\n')
print file_path
print file_path
t = Text()
t.pack()
Button(root, text="Open File",command=open_file).pack()
root.mainloop()
按你的思路来啊,首先说为什么会报错。。你发现你定义了一个open_file函数之后就直接print file_path了嘛,可是这个时候file_path还没定义诶。。然后你这个file_path是一个局部变量,想要在函数外部使用必须global。。
# -*- coding:utf8 -*-
from Tkinter import *
from tkFileDialog import askopenfilename
root = Tk()
root.title()
root.geometry()
file_path = askopenfilename(filetypes=(("files", "*.txt"),("All files", "*.*")))
def open_file():
global file_path
t.insert(END, file_path +'\n')
print file_path
print file_path
t = Text()
t.pack()
Button(root, text="Open File",command=open_file).pack()
root.mainloop()
所以代码就成了这样本回答被提问者采纳 参考技术B def test():
global x
x=2
test()
print(x)
加global就可以
参考技术C 用def关键字,括号里是参数列表def add(a, b): return a+b#下面调用print add(1, 2)python怎么调用自己写的函数
参考技术A 直接在你需要调用的地方写上函数名字加括号就可以 参考技术B 函数调用的基本语法格式如下所示:[返回值] = 函数名([形参值])
其中,函数名即指的是要调用的函数的名称;形参值指的是当初创建函数时要求传入的各个形参的值。如果该函数有返回值,我们可以通过一个变量来接收该值,当然也可以不接受。
以上是关于Python 怎么从定义的函数之外调用其中的变量的主要内容,如果未能解决你的问题,请参考以下文章