一切皆对象
-
1 什么是面向对象编程
核心是对象二字,对象是特征与技能的结合体,基于该思想编写程序就好比在
创造一个世界,世界是由一个个具体存在的对象组成的,你就是这个世界的上帝
这一种上帝式的思维方式
优点: 扩展性强
缺点: 编程的复杂度要高于面向过程 -
2.什么是类?
对象是特征与技能的结合体,类则是一系列对象相同的特征与技能的结合体在现实世界中,先有一个个具体存在的对象,然后随着人类文明的发展总结出的类
在程序中一定先定义类,后调用类来产生对象
类的本质是一个名称空间
里面装着类中对象的通用的属性和功能
可以对该名称空间进行增删改查
对象的本质也是一个名称空间
里面装着对象本身特有的属性和功能
用类来产生对象会发生两件事
1.产生一个空对象obj
2.会触发类中__init__方法,给这个对象添加不同的属性
相当于一种高级的封装
我给你一个对象,你就可以拿到我的属性和功能
一切皆对象
在python3中统一了类和类型的概念
l = list([1,2,3]) #list是类型也是类
print(type(l)) # >>> <class 'list'>
# 通常来给list 添加值
l.append(4) # 就是对象l调用了类list中的方法append添加的
print(l) # >>> [1,2,3,4]
# 如果直接用类来调用
list.append(l,4) #用类来调用 append就相当于普通函数,要传self
print(l) # 两次结果相同的 >>> [1,2,3,4]