我不知道给定代码中发生了什么?

2024-06-16 14:39:19 发布

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

class pyt():

    print(4)

pyt()
pyt()

只给出一个输出4。我认为应该是四分之二,但因为我的直觉是不正确的。我想知道为什么这个程序只打印一个4


Tags: 程序pytclassprint直觉
3条回答

这应该是function而不是class。如果您希望能够调用代码两次,则应该执行以下操作:

    def pyt():
        print(4)
    pyt()
    pyt()

结果将是:

    4
    4

您想使用def而不是class

def pyt():

    print(4)

pyt()
pyt()

输出将是:

enter image description here

您可以阅读更多有关defclass{a2}之间差异的内容

如果您想使用class关键字执行此操作

class pyt():
    def __init__(self, value_to_print=4):
        self.value_to_print = value_to_print
        
    def print_value(self):
        print(self.value_to_print)
        

if __name__ == '__main__':
    pyt_obj = pyt()
    pyt_obj.print_value()
    pyt_obj.print_value()

输出将是相同的

程序只打印4一次的原因是,只有在定义类时才会调用print()函数:

class pyt():
    print(4)

输出:

4

调用该类时,print()函数不会启动:

class pyt():
    print(4)

pyt()
pyt()
pyt()
pyt()
pyt()
pyt()

输出:

4

相关问题 更多 >