下面的Python脚本没有给出任何resu

2024-04-25 01:27:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我在执行python脚本(ctrl+B)时用sublime text3编写了下面的python脚本,它不会给出任何结果。你知道吗

第一步: 代码:

class Avengers(object):
  def __init__(self):
    print('hello')
    avenger1 = Avengers()
    avenger1.__init__(self)

第二步:

ctrl + B

第三步:

结果:

复制关闭


Tags: 代码self脚本helloobjectinitdefclass
3条回答

您没有实例化该类。尝试以下操作:

class Avengers(object):
  def __init__(self):
    print('hello')
    avenger1 = Avengers()
    avenger1.__init__(self)

avengers = Avengers() # Initiates the class

当您实例化这样的类时,它将为该类执行__init__函数。你知道吗

这是因为您只声明一个类,而不是实例化它。 变量avenger1存在于init函数中,因此不会调用它。缩进在python中很重要。你知道吗

试试这个:

class Avengers(object):
  def __init__(self):
    print('hello')
if __name__ == "__main__":
  avenger1 = Avengers()

首先,让我修改代码

class Avengers(object):
 def __init__(self): 
    print('hello')
    avenger1 = Avengers()
    avenger1.init(self)

好的,这里你创建了一个叫做复仇者的类。为什么它什么都不生产?因为你从不初始化那个类(创建一个对象)。你知道吗

我们开始吧:

class Avengers(object):
 def __init__(self): 
    print('hello')
    avenger1 = Avengers()
    avenger1.init(self)

Avengers()

它将打印hello,但是,它是递归的。永远打印“你好”。因为每次初始化该类时,它都会一次又一次地创建一个对象。init是一个特殊函数,因此每次初始化类时,都会执行init函数。你知道吗

也许你想要的是这样的:

class Avengers(object):
 def __init__(self): 
    print('hello')

Avengers() 

您可以阅读的其他参考:https://www.sololearn.com/Play/Python

相关问题 更多 >