Python程序编译问题
Python program compilation issue
在使用 JetBrains PyCharm Community Edition 2019.2 运行 一个 Python 文件的过程中,进程以退出代码 0 完成。
代码:
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
print("A dog is created")
def sit(self):
print(self.name + "has sitten")
dog = Dog("Rex", 4)
print(dog.name)
除了 PyCharm 生成的“进程已完成,退出代码为 0”消息外,没有任何编译
我在同一台 PC 上安装了 IntelliJ IDEA,它工作正常,所以我猜这不是防病毒阻止相关的问题。
您能否提一些建议?
提前谢谢你
Python class除非您实例化它们,否则不会执行任何操作。在这种情况下,您使用 __init__
方法声明 Dog
class,该方法执行一些操作(包括打印),但这只是一个声明 - [=26= 的一个实例] 尚未创建,因此 __init__
函数尚未 运行。
假设您希望在单个文件中运行,我建议将以下内容添加到文件底部:
if __name__ == '__main__':
dog = Dog()
这将导致在脚本为 运行 时创建 Dog
class 的新实例,然后您应该会看到打印语句输出到控制台。
如果您的代码按照原始问题中显示的方式缩进,则问题出在缩进上。目前几乎所有代码都位于 Dog
class 中,而不是文件级别,因此执行脚本时不会 运行ning,您的格式需要看起来像这样:
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
print("A dog is created")
def sit(self):
print(self.name + "has sat")
dog = Dog("Rex", 4)
print(dog.name)
正如丹尼尔所解释的那样,这是一个缩进问题。正确识别代码:
class狗:
def init(自我、姓名、年龄):
self.name = 姓名
self.age = 年龄
打印("A dog is created")
def sit(self):
print(self.name + "has sat")
狗=狗("Rex", 4)
打印(dog.name)
打印(dog.age)enter code here
在使用 JetBrains PyCharm Community Edition 2019.2 运行 一个 Python 文件的过程中,进程以退出代码 0 完成。
代码:
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
print("A dog is created")
def sit(self):
print(self.name + "has sitten")
dog = Dog("Rex", 4)
print(dog.name)
除了 PyCharm 生成的“进程已完成,退出代码为 0”消息外,没有任何编译 我在同一台 PC 上安装了 IntelliJ IDEA,它工作正常,所以我猜这不是防病毒阻止相关的问题。 您能否提一些建议? 提前谢谢你
Python class除非您实例化它们,否则不会执行任何操作。在这种情况下,您使用 __init__
方法声明 Dog
class,该方法执行一些操作(包括打印),但这只是一个声明 - [=26= 的一个实例] 尚未创建,因此 __init__
函数尚未 运行。
假设您希望在单个文件中运行,我建议将以下内容添加到文件底部:
if __name__ == '__main__':
dog = Dog()
这将导致在脚本为 运行 时创建 Dog
class 的新实例,然后您应该会看到打印语句输出到控制台。
如果您的代码按照原始问题中显示的方式缩进,则问题出在缩进上。目前几乎所有代码都位于 Dog
class 中,而不是文件级别,因此执行脚本时不会 运行ning,您的格式需要看起来像这样:
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
print("A dog is created")
def sit(self):
print(self.name + "has sat")
dog = Dog("Rex", 4)
print(dog.name)
正如丹尼尔所解释的那样,这是一个缩进问题。正确识别代码:
class狗: def init(自我、姓名、年龄): self.name = 姓名 self.age = 年龄 打印("A dog is created")
def sit(self):
print(self.name + "has sat")
狗=狗("Rex", 4)
打印(dog.name)
打印(dog.age)enter code here