类的简介 | Python从入门到精通:高阶篇之二十

面向对象简介 | 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)

运行结果:

类的简介 | Python从入门到精通:高阶篇之二十

此时我们查看其变量类型:

a = int(10) # 创建一个int类的实例
b = str('hello') # 创建一个str类的实例

print(a , type(a))
print(b , type(b))

运行结果:

类的简介 | Python从入门到精通:高阶篇之二十

定义一个简单的类

使用class关键字来定义类,语法和函数很像,其基本结构如下:

class 类名([父类]):
    代码块

定义一个最简单的类,并打印,代码如下:

class MyClass():
    pass

print(MyClass)

运行结果:

类的简介 | Python从入门到精通:高阶篇之二十

使用MyClass创建一个对象

使用类来创建对象,就像调用一个函数一样,代码编写如下:

mc = MyClass() # mc就是通过MyClass创建的对象,mc是MyClass的实例

print(mc)

运行结果:

类的简介 | Python从入门到精通:高阶篇之二十

进一步查看其类型:

mc = MyClass() # mc就是通过MyClass创建的对象,mc是MyClass的实例

print(mc, type(mc))

运行结果:

类的简介 | Python从入门到精通:高阶篇之二十

创建多个对象同上面的代码,可编写如下:

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)

运行结果:

类的简介 | Python从入门到精通:高阶篇之二十

同样,此代码也同样适用于其他对象:

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)

运行结果:

类的简介 | Python从入门到精通:高阶篇之二十

现在我们通过MyClass这个类创建的对象都是一个空对象,也就是对象中实际上什么都没有,就相当于是一个空的盒子。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

上一篇:(五):Winelib开发组件(1)


下一篇:OpenJudge4980:拯救行动//stl优先队列