python之路——23
复习
1.类定义
函数--方法--动态属性
必须传self
变量--类属性--静态属性
__init__方法--初始化方法
2.实例化
1.使用:对象 = 类()
2.实例和对象没有区别
3.对象调用方法
学习内容
1.类中的静态变量,可以被对象和类调用
2.对于不可变数据类型,类变量最好用类名操作
3.对于可变数据类型,对象名的修改是共享的,重新赋值是独立的
4.认识绑定方法
5.面向对象的三大特性:继承,多态,封装
6.组合: 一个对象的属性值是另一个类的对象
代码区
1.正方形周长和面积
class Square: def __init__(self,side_len): self.side_len = side_len def perimeter(self): return self.side_len * 4 def area(self): return self.side_len **2
2.创建一个类,每次实例化时,纪录实例信息
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。class Food: catagory = {} def __init__(self,kind,calorie): self.kind = kind self.calorie = calorie Food.catagory.setdefault(self.kind, self.calorie) a1 = Food('carrot',110) a2 = Food('meat',1000) print(a1.catagory) print(Food.catagory)
3.圆环面积周长,组合的方式
from math import pi class Circle: def __init__(self,radius): self.radius = radius def area(self): return self.radius**2*pi def perimeter(self): return 2*pi*self.radius class Ring: def __init__(self,outside_r,inside_r): self.outside_r = outside_r self.inside_r = inside_r self.outside_c = Circle(outside_r) self.inside_c = Circle(inside_r) def area(self): return self.outside_c.area() - self.inside_c.area() def perimeter(self): return self.outside_c.perimeter() + self.inside_c.perimeter() r1 = Ring(2,1)
4.老师-生日 类的组合
import time class Teacher: def __init__(self,name,age,birthday): self.name = name self.age = age self.birthday = birthday self.course = Course('language',2000) class Birthday: def __init__(self,year,month,day): self.year = year self.month = month self.day = day class Course: def __init__(self,name,price): self.name = name self.price = price b1 = Birthday(2111,2,1) a1 = Teacher('alex', 'Language',b1) print(a1.birthday.year) print(a1.course.price)

更多精彩