面向过程 VS 面向对象
# 面向对象编程 先造一个模子 ,然后用模子创造不同的对象去编程,适用于解决某一类问题
# 面向过程 一步一步去编程,只适用与解决某一个问题
面向对象编程
# 所谓模子 就是 类 抽象的 能知道有什么 属性 和 技能, 但不知道属性具体的值
# 对象有具体的值, 属性和技能都是根据类规范的
定义类
# 函数: 方法 动态属性 # 类中可以定义方法,方法都有一个必须传的参数self参数
# 变量: 类属性 静态属性 # 类中也可以定义静态属性
__init__方法(初始化方法)
# python帮我们创建了self对象(一个裸对象)
# 每次调用类的时候会自动触发该方法,默认传self
# 在init方法中可以对self进行赋值
self是什么?
# 在类的内部,self就是一个对象,相当与是个字典
# alex = Person()
# alex.walk == Pewrson.walk(alex)
实例化?
# 对象 = 类名(参数是init方法的参数)
实例化 == 对象
对象查看属性?
# 对象.属性名
对象调用方法?
# 对象.方法名()
正方形 的周长和面积?
class Square(object):
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
s = Square(5)
print(s.perimeter())
print(s.area())