【发布时间】:2020-01-08 01:07:37
【问题描述】:
这可能有一个明显的答案,但我试图在 python 的类中定义一个函数,以便我可以调用该函数,就像使用命名空间从类中调用任何变量一样。有没有办法做到这一点?
class Table():
def __init__(self):
self.table = [
# 1 2 3 4 5 6 7 8 9
[0, 5, 0, 2, 0, 0, 0, 0, 3], #1
[0, 4, 6, 0, 8, 0, 0, 0, 1], #2
[2, 0, 3, 0, 7, 0, 9, 0, 0], #3
[0, 0, 0, 9, 0, 0, 0, 0, 0], #4
[0, 0, 0, 8, 3, 7, 0, 0, 0], #5
[0, 0, 0, 0, 0, 6, 0, 0, 0], #6
[0, 0, 9, 0, 6, 0, 8, 0, 4], #7
[4, 0, 0, 0, 5, 0, 3, 7, 0], #8
[5, 0, 0, 0, 0, 3, 0, 6, 0], #9
]
def get(self, x=1, y=1):
return self.table[y-1][x-1]
def print_t():
None
我希望能够通过使用“Table().get”和“Table().print_T”来调用“get”和“print_T”函数。
【问题讨论】:
-
试试
Table().get() -
get必须访问self.table,因为table既不是函数本地名称也不是全局名称。 -
缩进还是坏了。您是否打算在
__init__中定义get和print_t,而不是Table?