2.0 python 面向对象的基本使用

面向对象的基本使用

一,封装

①定义类和使用类

class student():
    def __init__(self,id,yw,sx,en):
        self.id=id
        self.yw=yw
        self.sx=sx
        self.en=en      #属性用__开头代表私有属性,只能在类内部使用
    def total(self):
        return self.yw+self.sx+self.en        
    def __str__(self):     
        return f"学号:{self.id}\n总分:{self.total()}\n"
s1=student("12001",55,66,77)
s2=student("12002",65,69,57)
print(f"第一个学生的学号是{s1.id}")
print(f"第二个学生的语文成绩是{s2.yw}")
print(f"第二个学生的英语成绩是{s2.en}")
print(s1)
print(s2
print(type(s1))

第一个学生的学号是12001
第二个学生的语文成绩是65
第二个学生的英语成绩是57
学号:12001
总分:19
学号:12002
总分:191
<class ‘main.student’>

注解
a. __ main__ 当前脚本内的一个student类
b.def __ init__(self初始化定义方法 【self 表示‘自己】----->self.id 初始化
c.解决打印格式问题 def __ str__(self)--------return返回值,返回成字符串 --------->若没有则运行结果

<main.student object at 0x0000000002B5A6A0>
<main.student object at 0x0000000002B5A6D8>
<class ‘main.student’>

②类的继承与多态

class pet():
    def __init__(self,name):
        self.name=name
    def __str__(self):
        return f"这是一个叫{self.name}的宠物。"
    def speak(self):
        print(f"{self.name}在叫!")
        
class dog(pet):
    def speak(self):
        print(f"{self.name}在汪汪叫!")
        
class cat(pet):
    def speak(self):
        print(f"{self.name}在喵喵叫!")
    
pet1=pet("小黑")  #说明   pet1在pet类中
pet1.speak()      #使用   pet类中的【speak】
dog1=dog("小白")
cat1=cat("小黄")

pets=[pet1,dog1,cat1]
for p in pets:
    p.speak()

小黑在叫!
小黑在叫!
小白在汪汪叫!
小黄在喵喵叫!

注解
新的定义会覆盖上一级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值