面向对象编程
编程范式
编程范式的演变:
面向过程编程:把问题分解成小问题,一个接一个去解决,为了实现大目标【不就是钱吗?】我们先可以定个【小目标】,然后再努力达到【中等意思】,再去 达到【不就是钱吗】境界
函数式编程:把编程视为函数计算过程
面向过程编程:针对问题创建模型类,类中以数据和函数去刻画问题,数据为血肉,函数为骨架,结合成为一个灵活的类
面向对象编程
需求是发明之母
很多实际中的产品需求是动态的,这就要求编程方式必须具有较强的可扩展性,这种对可扩展性的需求催生了面向对象编程
类:是具有相同特征的一类事物(人,狗,老虎)
对象/实例:具体的某一事物
实例化:类到对象的过程(实例=类名(参数1,参数2))
初始类和对象
类的定义:class Person: #class 类名:注意类名后面不要括号
类体
类有两种属性:数据属性和函数属性
1. 类的数据属性是所有对象共享的
2. 类的函数属性是绑定给对象用的
在python中,用变量表示特征,用函数表示技能,因而具有相同的特征和技能的一类事物就是‘类’,
对象则是这一类事物中具体的一个
类的两种作用:属性引用和实例化
class People:
country='China'
x=1
def __init__(obj, name, age, sex): #obj=obj1,x='egon',y=18,z='male'
# if type(name) is not str:
# raise TypeError('名字必须是字符串类型')
obj.name = name
obj.age = age
obj.sex = sex
def run(self):
print('----->', self)
初始化函数__init__()