面向对象最本质解决的是: 提供可扩展性
类与对象
程序中必须先有类,再有对象
# 类中有属性,有方法
class Person:
# 类属性
school = 'xxxx'
# 对象的绑定方法,初始化方法完成对象的初始化
def __init__(self,name='hys',age=16):
self.name=name
self.age=age
p = Person('my')
# 对象是不能修改类属性的
# 类属性只能类来该
print(Person.__dict__)
p.school = 'yyyy'
print(p.__dict__)
对象绑定方法: 定义在类内部,没有装饰器装饰的方法,都是对象的绑定方法
需要对象来调用,对象调用的时候,会把自身传入
class Person:
def __init__(slef,name='my'):
self.name=name
self.age=17
def change_name(self,name):
self.name=name
p = Person()
p.change_name('mayue')
# 本质就是
# Person.change_name(p,'mayue')
对象交互
class Person:
def __init__(slef,name='my'):
self.name=name
self.age=17
def change_name(self,name):
self.name=name.upper()