初学者,Python 类不打印

问题描述 投票:0回答:2

我是初学者。我正尽最大能力。请对我宽容一些。我的任务是创建一个名为“person”的类,其中包含一种方法“hello”和一个代表人名的属性“name”。最后它应该打印“我的名字是 X,我是 Y,其中 X 是 sys.argv[1] 名称,Y 是类的名称。我应该实例化该类的一个对象,运行hello 方法并打印类的名称,我有点不知所措,我觉得我在原地踏步,但到目前为止我没有得到什么。 :

import sys

class person():
    def __init__(self, name):
        self.name = name

    def hello(self):
        print(f'My name is {self.name} and I am a {__class__.__name__}.')
        print(person1.hello())

person(sys.argv[1])

person1=person(sys.argv[1])  

print(str(person.__class__))

到目前为止它根本没有打印任何东西。

python class methods
2个回答
1
投票

这个正在工作。

class Person():
    def __init__(self, name):
        self.name = name

    def hello(self):
        print(f'My name is {self.name} and I am a {__class__.__name__}.')


my_person = Person('John')
my_person.hello()

输出:

My name is John and I am a person.

建议: 对于约定类,以首字母大写命名以区分实例。


0
投票

您不需要仅仅为了打印一些东西而执行所有这些操作。 为了更方便,请使用变量。这样,您就可以在代码的后续部分中访问它。如果您需要用户输入,可以使用输入功能。

name = input('Name: ')
person = Person(name)
person.hello()

如果实施,这是输出:

名称:用户输入
我的名字是用户输入,我是一个人。

© www.soinside.com 2019 - 2024. All rights reserved.