python之类的初体验

一个简单的示例–类的定义和继承

#类的定义
class Student():"""class Student(object):也可在括号中添加object,通常,如果没有合适的继承类,就使用object类,这是所有类最终都会继承下来的类"""
    def __init__(self,name,score):
        self.name = name
        self.score = score

tcar = Student("zql",66)
print(tcar.name,tcar.score)
#若Student("zql")则会报错,参数需要对应完善,self无需对应,在调用类时会自动匹配对象名。
TypeError: __init__() missing 1 required positional argument: 'score'
#类的方法
class Student(object):
    def __init__(self,name,score):
        self.name = name
        self.score = score
    def print_score(self):#此处对数据进行操作,便表示方法
        print("%s:%s"%(self.name,self.score))
tcar = Student("zql",66)
tcar.print_score()
#继承1:改变父类中的方法
class Student(object):
    def __init__(self,name,score):
        self.name = name
        self.score = score
    def print_score(self):
        print("%s:%s"%(self.name,self.score))


class SeniorStudent(Student):
    def print_socre(self):
        print("%s,%s"%(self.name,self.score))
        

tcar = Student("zql",66)
tcar.print_score()

scar = SeniorStudent("ZQL",22)
scar.print_score()

输出:
zql:66
ZQL:22
#对于同一方法名,子类将会对父类进行覆盖
#继承2:改变子类中的属性
class Student(object):
    def __init__(self,name,score):
        self.name = name
        self.score = score
    def print_score(self):
        print("%s:%s"%(self.name,self.score))


class SeniorStudent(Student):
    def __init__(self,name,score,age):
        super().__init__(name,score)%继承父类中所用属性,也可以重新给初始化定义
        self.age = age
    def print_score(self):
        print("%s,%s,%s"%(self.name,self.score,self.age))

tcar = Student("zql",66)
tcar.print_score()

scar = SeniorStudent("ZQL",77,23)
scar.print_score()
输出:
zql:66
ZQL,77,23              

参考:
http://yangcongchufang.com/%E9%AB%98%E7%BA%A7python%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80/python-object-class.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值