Python第二期day08

本文介绍了面向对象编程的基本概念,包括类和对象的定义,展示了如何创建和使用类与对象。通过实例化Dog类,演示了属性和方法的使用,并探讨了__init__函数的作用。此外,还创建了学生和教师类,说明了类的继承和方法调用。文章深入浅出地讲解了面向对象编程的核心思想及其在实际问题中的应用。
摘要由CSDN通过智能技术生成

什么是对象

# 一切都是对象 : 对象用属性和方法表述就可以
# 类是对象的模板, 对象是类具体实例


# 定义类
class Dog():
    def eat(self):
        print("嘎嘎香的在吃")
    def run(self):
        print("疯狂的跑")

# 使用类
# 类来创建对象被称为实例化
# 对象名 = 类名()
d1 = Dog()
# 调用方法
d1.eat()
d1.run()

属性定义

class Dog():
    def __init__(self):
        # 属性定义
        self.name = None
        self.age = None
    def eat(self):
        print(f"{self.name}在嘎嘎香的吃")
    def run(self):
        print("疯狂的跑")
d1 = Dog()
#属性赋值
d1.name = "豆豆"
d1.eat()
d2 = Dog()
d2.name = "花花"
d2.eat()

self

# 哪个对象被调用 self就是谁
class Dog():
    def __init__(self):
        # 属性定义
        self.name = None
        self.age = None
    def eat(self):
        print(f"{self.name}在嘎嘎香的吃, 此时self的地址是{id(self)}")
        self.run()
    def run(self):
        print("疯狂的跑")
d1 = Dog()
#id() 可以显示对象的地址
print("d1 的 id =", id(d1))
d1.name = "豆豆"
d1.eat()
d2 = Dog()
print("d2 的 id =", id(d2))
d2.name = "花花"
d2.eat()

__init__函数

# __init__方法  当类被实例化的时候会自动调用, 并且只调用一次
# 主要用于初始化成员属性
class Dog():
    def __init__(self, name, color, age=0):
        print("__init__被调用")
        self.name = name
        self.color = color
        self.age = age
    def eat(self):
        print(f"{self.name}在嘎嘎香的吃, 颜色:{self.color}, 年龄{self.age}")
    def run(self):
        print("疯狂的跑")
d1 = Dog("豆豆", "白色", 3)
d1.eat()
d2 = Dog( color="黑", age=1, name="花花")
d2.eat()
d3 = Dog("小小", '黄色')
d3.eat()

学生类和教师类

# 制作校园管理系统  定义学生类和教师类  教师类  薪水  教书 set薪水 get_info
class Student():
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.score = 0
    def study(self):
        print(f'{self.name}在疯狂的学习中....')
    def set_score(self, score):
        self.score = score
    def get_info(self):
        print(f'姓名 : {self.name}, 年龄: {self.age}, 成绩: {self.score}')
class Teacher():
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.salary = 3000
    def study(self):
        print(f'{self.name}在疯狂备课中')
    def get_info(self):
        print(f'姓名:{self.name},年龄:{self.age}')
t1=Teacher("Any",30)
t2=Teacher("Lisa",28)
t3=Teacher("Bob",31)
t1.get_info()
t2.get_info()
t3.get_info()
s1 = Student("Bob", 18)
s2 = Student("Eric", 13)
s3 = Student("Smith", 17)
s1.set_score(100)
s2.set_score(56)
s3.set_score(76)
s1.get_info()
s2.get_info()
s3.get_info()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值