问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Python 怎么从定义的函数之外调用其中的变量

发布网友 发布时间:2022-05-09 14:34

我来回答

4个回答

热心网友 时间:2024-02-02 07:21

这涉及到变量的生命周期问题,一般的,在函数里面声明的变量在函数外是不起作用的。

一个比较简单的解决办法是你在函数外就先声明这个变量,声明成全局变量。然后在函数里面进行操作和赋值。

最后就能在函数外获取变量的值了。例如:

x = 0
def a():
    x = 2
if __name__ == '__main__':
    a()
    print x

最终x打印出来的结果就是2

热心网友 时间:2024-02-02 07:21

# -*- 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()

所以代码就成了这样

热心网友 时间:2024-02-02 07:22

def test():
    global x
    x=2
test()    
print(x)

 加global就可以

热心网友 时间:2024-02-02 07:22

用def关键字,括号里是参数列表def add(a, b): return a+b#下面调用print add(1, 2)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
急求高人解答 ···管理类的问题 ···!!!急急急···我会在线等... ...如果基层管理幅度为8,高层管理人员管理幅度为3,则该公司中层管理人员... ...发生化学变化的实质是( )A.分子间隔发生变化B.物质状态发生改变C... 下列变化不能说明发生了化学变化的是( )A.变化时有电子的得失或共用电... 下列描述正确的是( )A.固态物质的分子间无间隔B.液态物质的分子不断运动... 原来微信打开这个功能,能够看到马路上的街景,涨知识了! ...百度帐号被人在异地登录了,问题是没有任何人知道我的密码啊?而且也... 医疗事故纠纷和医疗损害纠纷的区别是什么 医疗纠纷与医疗事故的定义是什么? 医疗事故纠纷是指什么的 春天应该多吃哪些蔬菜? 春天应该吃什么菜 怎么开好水果店 宣传单印刷的介绍 营业网点可以自行设计,印刷,编写相关产品的宣传资料吗 一天一次做爱可以吗 一天遛狗一次可以吗? 可以一天锻炼一次身体吗? 同花顺里价量分布图怎么看 学历认证需要什么资料? OPPO手机最近出现这个问题,解锁和接打电话,都会出现这个新闻界面锁屏,求解决 一天射一次精可以吗 成人本科学历证书认证需要提供什么材料 学历现场认证要带什么东西 跟男朋友每天一次好吗? 一天射一次精好不好 一天一次,一次一天可以吗 一天一次.性生活可以吗 每天和老公一天一次或者两次是不是有些频繁?对男人得身体好吗? 视频上怎么加特效啊 python问题 在子类中怎么调用基类非__init__函数里的变量值 想要摄像头小一点像素好内存大,屏幕指纹,有白色的? 小型摄像头怎么安装不容易被发现 如何调整前摄像头小点 股票三天最高点一样什么意思 开通分期乐乐能提额的吗? 开通分期乐可以把卡里的额度提现的吗? 电脑安装了CAD2008激活后,ghost备份系统和软件了,跟换了一个大硬盘CAD2008不停的提示激活! AutoCAD2005激活码 windows8,CAD2014激活不了注册 - 激活错误 (0015.111),请问怎么回事?怎么重装系统 CAD2008不能激活的解决办法 MP3格式音乐转换成WMA格式后,音质会有影响吗? mp3转换wma音质提高吗 用格式工厂把MP3文件转换成WMA的 音质是否会有影响? 音乐文件格式从.mp3转换成.wma后,会损坏原音质吗? 请问用文件转换器把mp3格式的音频转换为wma格式的音质会变好吗? MP3转成WMA音质会变差吗? 把mp3转换成wma后音质是不是会变差? mp3转换成wma的音质问题 格式工厂里MP3转WMA输出配置里面设置为缺省会影响音质吗?