与class的语法混淆

  • 本文关键字:语法 class python
  • 更新时间 :
  • 英文 :


这是给定的代码:

class Person:
def __init__(self, name):
self.name = name 
def greeting(self):
return "hi, my name is " + self.name
some_person = Person("yeabsira") 
print(some_person.greeting())

但是,我期望构造函数方法使用的语法像:

class Name:
def __init__(self,atribute1,atribute2):
self.atribute1=atribute1
self.atribute2=atribute2
new_instance=Name("example")
print(new_instance.atribute1)

期待答案="example"
我的问题是"some_person.greeting()"symantic作品吗?

some_person.name返回该人姓名的值,而some_person.greeting()返回带有姓名的问候语,它只是在Person类中定义的函数,并且像任何其他函数一样正常工作。如果只需要名称,可以使用some_person.name

然而,通过使用some_person.greeting(),你实现了数据隐藏,它隐藏了内部对象的细节,并且用户(在将来)只需要访问greeting()而不是name本身的值。

最新更新