luck78 发表于 2021-10-25 15:12:45

类对象

本帖最后由 luck78 于 2021-10-25 15:14 编辑

class Animal():
    def __init__(self,name):
      self.name = name
    def greet(self):
      print('Hello, I am an %s.' % self.name)
class Dog(Animal):
    def greet(self):
      print('Wangwang... I am an %s.'% self.name)
    def run(self):
      print('I am running')

class Cat(Animal):
    def greet(self):
      print(f"MiaoMiao... I am {self.name}")

def hello(animal):
    animal.greet()

请问为什么16行小写animal 也可以运作
可是父类classAnimal是大写

suchocolate 发表于 2021-10-25 15:19:45

第16行是函数定义,不是类定义,括号中的animal是函数的形参(普通变量),不是类的名称。

傻眼貓咪 发表于 2021-10-25 16:34:12

class Animal():
    def __init__(self,name):
      self.name = name
    def greet(self):
      print('Hello, I am an %s.' % self.name)
class Dog(Animal):
    def greet(self):
      print('Wangwang... I am an %s.'% self.name)
    def run(self):
      print('I am running')

class Cat(Animal):
    def greet(self):
      print(f"MiaoMiao... I am {self.name}")

def hello(animal): # 这里的 animal 只是参数
    animal.greet()

hello(Animal("小白")) # 参数就是 Animal 类打印:Hello, I am an 小白.
页: [1]
查看完整版本: 类对象