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

简介: 本节介绍了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)

运行结果:

image.png

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

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

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

运行结果:

image.png

定义一个简单的类

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

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

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

class MyClass():
    pass

print(MyClass)

运行结果:

image.png

使用MyClass创建一个对象

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

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

print(mc)

运行结果:

image.png

进一步查看其类型:

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

print(mc, type(mc))

运行结果:

image.png

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

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)

运行结果:

image.png

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

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)

运行结果:

image.png

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

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

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

相关文章
|
4天前
|
存储 程序员 API
Python 入门指南(五)(4)
Python 入门指南(五)
12 1
|
1天前
|
网络协议 网络架构 Python
Python 网络编程基础:套接字(Sockets)入门与实践
【5月更文挑战第18天】Python网络编程中的套接字是程序间通信的基础,分为TCP和UDP。TCP套接字涉及创建服务器套接字、绑定地址和端口、监听、接受连接及数据交换。UDP套接字则无连接状态。示例展示了TCP服务器和客户端如何使用套接字通信。注意选择唯一地址和端口,处理异常以确保健壮性。学习套接字可为构建网络应用打下基础。
18 7
|
2天前
|
Python
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
|
3天前
|
Python
Python-类视图和蓝图
Python-类视图和蓝图
10 2
|
3天前
|
存储 Java 数据安全/隐私保护
Python----类对象和实例对象
Python----类对象和实例对象
9 2
|
4天前
|
Python 索引 C语言
Python3从零基础到入门(2)—— 运算符-3
Python3从零基础到入门(2)—— 运算符
|
4天前
|
Python
Python3从零基础到入门(2)—— 运算符-2
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-2
|
4天前
|
Python C语言 存储
Python3从零基础到入门(2)—— 运算符-1
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-1
|
4天前
|
存储 C语言 Python
|
4天前
|
Python Windows