【发布时间】:2013-08-14 06:15:10
【问题描述】:
这是代码:
from tkinter import *
import os
class App:
charprefix = "character_"
charsuffix = ".iacharacter"
chardir = "data/characters/"
charbioprefix = "character_biography_"
def __init__(self, master):
self.master = master
frame = Frame(master)
frame.pack()
# character box
Label(frame, text = "Characters Editor").grid(row = 0, column = 0, rowspan = 1, columnspan = 2)
self.charbox = Listbox(frame)
for chars in []:
self.charbox.insert(END, chars)
self.charbox.grid(row = 1, column = 0, rowspan = 5)
charadd = Button(frame, text = " Add ", command = self.addchar).grid(row = 1, column = 1)
charremove = Button(frame, text = "Remove", command = self.removechar).grid(row = 2, column = 1)
charedit = Button(frame, text = " Edit ", command = self.editchar).grid(row = 3, column = 1)
for index in self.charbox.curselection():
charfilelocale = self.charbox.get(int(index))
charfile = open(app.chardir + app.charprefix + charfilelocale, 'r+')
charinfo = self.charfile.read().splitlines(0)
现在我想知道的是,如果我要在另一个函数中调用 charinfo,我应该怎么称呼它?我正在使用 Python 3.3,而 app.charinfo 或 self.charinfo 不起作用。如果我的代码不正确,您能帮忙更正一下吗?提前致谢。
【问题讨论】:
-
你不能调用它,它是一个函数的局部变量,它的作用域在那个函数内部。如果你想在另一个类中使用它,将它声明为一个类变量意味着 instaed charinfo 类型 self.charinfo
标签: python function python-3.x python-3.3