面向对象简介 | Python从入门到精通:高阶篇之十九
类(Class)
我们目前所学习的对象都是Python内置的对象,但是内置对象并不能满足所有的需求,所以我们在开发中经常需要自定义一些对象。
而类,简单理解,它相当于一个图纸。在程序中我们需要根据类来创建对象,所以,类就是对象的图纸!我们也称对象是类的实例(instance)。
如果多个对象是通过一个类创建的,我们称这些对象是一类对象,像 int() float() bool() str() list() dict() ... 这些都是类,请见如下代码:
a = int(10) # 创建一个int类的实例 等价于 a = 10
常规开发中,我们自定义的类都需要使用大写字母开头,使用大驼峰命名法(帕斯卡命名法)来对类命名。运行如下代码:
a = int(10) # 创建一个int类的实例
b = str('hello') # 创建一个str类的实例
print(a)
print(b)
运行结果:
此时我们查看其变量类型:
a = int(10) # 创建一个int类的实例
b = str('hello') # 创建一个str类的实例
print(a , type(a))
print(b , type(b))
运行结果:
定义一个简单的类
使用class关键字来定义类,语法和函数很像,其基本结构如下:
class 类名([父类]):
代码块
定义一个最简单的类,并打印,代码如下:
class MyClass():
pass
print(MyClass)
运行结果:
使用MyClass创建一个对象
使用类来创建对象,就像调用一个函数一样,代码编写如下:
mc = MyClass() # mc就是通过MyClass创建的对象,mc是MyClass的实例
print(mc)
运行结果:
进一步查看其类型:
mc = MyClass() # mc就是通过MyClass创建的对象,mc是MyClass的实例
print(mc, type(mc))
运行结果:
创建多个对象同上面的代码,可编写如下:
mc = MyClass() # mc就是通过MyClass创建的对象,mc是MyClass的实例
mc_2 = MyClass()
mc_3 = MyClass()
mc_4 = MyClass()
mc mc_2 mc_3 mc_4 都是MyClass的实例,他们都是一类对象。
那么我们如何来检查一个对象是不是一个类的实例呢?isinstance()用来检查一个对象是否是一个类的实例,故这个问题可以借助isinstance()方法:
result = isinstance(mc,MyClass)
# print(mc , type(mc))
print('result =',result)
运行结果:
同样,此代码也同样适用于其他对象:
result = isinstance(mc_2,MyClass)
# print(mc , type(mc))
print('result =',result)
运行结果:[就用运行结果六这个图就行,一模一样的]
若是判断mc对象是否为str对象时,就会返回False,代码如下:
result = isinstance(mc_2,str)
# print(mc , type(mc))
print('result =',result)
运行结果:
现在我们通过MyClass这个类创建的对象都是一个空对象,也就是对象中实际上什么都没有,就相当于是一个空的盒子。
配套视频课程,点击这里查看
获取更多资源请订阅Python学习站