引用自对象的正确方法是什么

2024-04-29 16:05:07 发布

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

我正在创建一个名为Dog1的实例。我很好奇引用对象的最佳实践是什么。 我以后会在类中通过self.bride还是仅仅通过对象名bride来引用它们。 例如,在下面的print函数中,我将输入print(f"My name's {self.name})print(f"My name's {name})

class Dog:
    def __init__(self, name, age, breed):
        self.name = name 
        self.age = age
        self.breed = breed

        print(f"My name's {name}")

Tags: 对象实例函数nameselfageinitmy
2条回答
class Dog:
    def __init__(self, name, age, breed):
        self.name = name + '-sss-'
        self.age = age
        self.breed = breed

        print(f"My name's {name}")
        print(f"My name's {self.name}")
    def s(self):
        print(self.name)
        try:
            print(name)
        except NameError as e:
            print(e)

这取决于你想要什么。在__init__方法中{name}将打印为该参数传递的值{self.name}将打印实例属性

In [10]: d = Dog('foo',1,2)
My name's foo
My name's foo-sss-

在实例方法中,您需要使用self

In [11]: d.s()
foo-sss-
name 'name' is not defined

在后面的函数中,将变量称为self.name。例如,您可以这样做:

class Dog:
    def __init__(self, name, age, breed):
        self.name = name 
        self.age = age
        self.breed = breed

        print(f"My name's {self.name}")

    def print_breed(self):
        print(f"I'm a {self.breed}")

dog = Dog("Fido", 10, "spaniel")  # >>> My name's Fido
dog.print_breed()  # >>> I'm a spaniel

在这里,当您调用dog.print_breed(),其中dog是Dog类的一个变量实例时,您将返回Dog的品种

相关问题 更多 >