Python-day14
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
1、对象动态绑定属性和方法
#对象动态绑定属性和方法
class Student:
def __init__ (self,name,age):
self.name=name
self.age=age
def eat(self):
print(self.name+'在吃饭')
stu1=Student('柠柠',1)
stu2=Student('cecilia',3)
stu1.eat()
stu2.eat()
def lesson():
print(stu1.name+'在上课')
stu1.lesson=lesson
stu1.lesson()
stu1.native_place='山东'
print(stu1.name,stu1.age,stu1.native_place)
2、类对象的封装
class Student:
def __init__(self,name,age):
self.name=name
self.__age=age
def show(self):
print(self.name,self.__age)
stu=Student('柠柠',1)
stu.show()
print(stu.name)
print(dir(stu))
print(stu._Student__age)
3、类对象的继承
class Person(object):
def __init__(self,name,age):
self.name=name
self.age=age
def pr(self):
print(self.name,self.age)
class Student(Person):
def __init__(self,name,age,id):
super().__init__(name,age)
self.id=id
class Teacher(Person):
def __init__(self,name,age,year):
super().__init__(name,age)
self.year = year
stu=Student('柠柠',1,123321)
teacher=Teacher('cecilia',30,5)
stu.pr()
teacher.pr()
4、方法重写
class Person(object):
def __init__(self,name,age):
self.name=name
self.age=age
def pr(self):
print(self.name,self.age)
class Student(Person):
def __init__(self,name,age,id):
super().__init__(name,age)
self.id=id
def pr(self):
super().pr()
print(self.id)
class Teacher(Person):
def __init__(self,name,age,year):
super().__init__(name,age)
self.year = year
def pr(self):
super().pr()
print(self.year)
stu=Student('柠柠',1,123321)
teacher=Teacher('cecilia',30,5)
stu.pr()
teacher.pr()
5、object类
object类中的str方法本身是返回对象地址,可以重写方法,返回对象的描述
print(对象名)是直接调用str方法
class Student:
def __init__(self,name,age):
self.name=name
self.age=age
def __str__(self):
return '我叫{0}今年{1}岁'.format(self.name,self.age)
stu=Student('柠柠',1)
print(dir(stu))
print(stu)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |