欢迎来到“只读课堂”!
生活中的面向对象
对象是什么:对象就是一个模型,在我们生活中,有许许多多的对象;比如,所有的楼房可以看作一类对象,不管是平房还是高层,都叫楼房;还有面,山西的刀削面,担担面,等等,都需要水煮,有的还可能给你加个鸡蛋,叫做鸡蛋面
对象是我们宏观意义上把一类具有相同属性的事物去总结称呼他,这个总结归纳出来的就是对象
对象是有公有属性,也有一些自己独有的;比如平房没有电梯,高层没有院子,但是都有门。或者我们的加蛋的面,面条是面这个对象必须有的,但是鸡蛋就不一定了。
编程中的面向对象
类:是翻门抽象出来的属性集合,是描述
实例:对象是我们用类这个属性集合具体实例生成的,也叫做实例
属性:属性可以是类中方法函数也可以是类中变量
实例属性:定义在方法中的属性(属性可以是类属性:类属性在整个实例化的对象中共有的,也可以是),只作用于当前实例的类
类属性定义在类中且在函数体外,类属性通常不作为实例属性使用
In [2]:
#接下来开始打代码!
In [3]:
class A:
num = 1
In [4]:
a = A()
In [5]:
a
Out[5]:
<__main__.A at 0x1b6d47a16d8>
In [6]:
a.num
Out[6]:
1
In [7]:
#a就会有一个number属性
In [8]:
b = A()
c = A()
d = A()
In [9]:
b.num
Out[9]:
1
In [10]:
c.num
Out[10]:
1
In [11]:
#这就是我们用面向对象解决的一个问题
In [12]:
#它的好处是:
In [13]:
#可以节省内存
#还可以节省编程的成本
In [14]:
class A:
def func():
print('hello world')
In [15]:
a = A()
In [16]:
a.func()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-16-9a9c9934c505> in <module>()
----> 1 a.func()
TypeError: func() takes 0 positional arguments but 1 was given
In [17]:
#这里为什么不能调用呢
In [18]:
#这是因为我们调用的类和实例中的属性是不同的。
本次只读课堂的python教程就到这了,欢迎下一次的收看!