新手求助: Python 在定义类中的__init__方法时,不能调用类中的方法吗?

2019-02-20 10:33:14 +08:00
 zoroojack

class A():

def __init__(self,):
    super().__init__()
    self.a = funa()
def funa():
    print("funa is runing...")

aaa = A()

报错:NameError: name 'funa' is not defined

调整 funa()函数的位置没有作用。

4736 次点击
所在节点    Python
11 条回复
xdlucky
2019-02-20 10:34:29 +08:00
self.funa
anshengme
2019-02-20 10:37:11 +08:00
self.funa
zoroojack
2019-02-20 10:53:24 +08:00
@xdlucky
@anshengme
感谢两位的回复,加上 self 后,又会传递一个参数给这个函数,还是会报错:
TypeError: funa() takes 0 positional arguments but 1 was given
zoroojack
2019-02-20 10:54:08 +08:00
哦,我弄错了。谢谢两位!
a852695
2019-02-20 11:06:31 +08:00
你的 funa 确定是类方法?我怎么觉得你少了个 self 参数
iyaozhen
2019-02-20 11:08:13 +08:00
楼主,你这种情况需要个 IDE,看着就是一片红
ClutchBear
2019-02-20 11:13:19 +08:00
hunter2015
2019-02-20 11:16:37 +08:00
class A:
def __init__(self):
super().__init__()
self.a = self.funa()

@classmethod
def funa(cls):
print("funa is runing...")
return True
BBCCBB
2019-02-20 11:18:11 +08:00
vscode 假装一个 lint 的插件, 实时监测语法错误.
zw1027
2019-02-20 15:45:35 +08:00
还得多看看文档哟
Qzier
2019-02-24 01:02:46 +08:00
你是在调用函数

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/536792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX