ad

《Python学习笔记 从入门到实战》_更了解Python的途径之一_7.2.2 类的基本用法

网友投稿 52 2023-11-07

【摘要】 本书摘自《Python学习笔记 从入门到实战》一书中第7章,第2节,由张学建编著。

7.2.2 类的基本用法

在 Python 程序中,类只有被实例化后才能够被使用。类的实例化跟函数调用类似,只 要使用类名加小括号的形式就可以实例化一个类。类实例化以后会生成该类的一个实例, 一 个类可以实例化成多个实例,实例与实例之间并不会相互影响,类实例化以后就可以直接使 用了。例如在下面的实例代码中,演示了定义并使用类的基本过程。

实例7-1:财产分配说明书

源码路径:下载包\daima-1

在上述代码中,首先定义了一个自定义类MyClass, 在类体中只有一行类的说明信息“这 是一个类. ”,然后实例化该类,并调用类的属性来显示属性“ doc ” 的值,Python 语言 中的每个对象都会有一个“ doc ”属性,该属性用于描述该对象的作用。在最后一行代 码中用到了Python 的内置函数 helpO, 功能是显示帮助信息。执行后会输出:

《Python学习笔记 从入门到实战》_更了解Python的途径之一_7.2.2 类的基本用法

7.3 对象

例如在下面的实例代码中,演示了使用类对象的基本过程。

实例7-2:使用类的对象

源码路径:下载包\daima\7\7-2

实例文件 dui.py 的具体实现代码如下所示。

class Myclass:

"""一个简单的类实例"""

=e1f23)11112

return '们好,我是霍老板!’

x =MyClass()

#下面两行代码分别访问类的属性和方法

print(x.f())

print( " 我的财产有:",x.i," 元")

#定义类MyClass

#设置变量i 的初始值

#定义类方法 f()

#打印显示文本

#实例化类

#类MyClass 中的方法 f输出

#显示 MyClass 中的属性i 的值

在上述代码中,创建了一个新的类实例并将该对象赋给局部变量x 。x 的初始值是一个 空 的MyClass 对象,通过最后两行代码分别对x 对象成员进行了赋值。执行后会输出:

你们好,我是霍老板!

我的财产有::123456789101112元

7.4 方法

7.4.1 定义并使用类方法

在Python 程序中,可以使用关键字 def 在类的内部定义一个方法。在定义类的方法后, 可以让类具有一定的功能。在类外部调用该类的方法时就可以完成相应的功能,或改变类的 状态,或达到其他目的。

在 Python 中,定义类方法的方式与其他一般函数的定义方式相似,但是有如下三点区别: (1)方法的第一个参数必须是 self, 而且不能省略;

(2)方法的调用需要实例化类,并以“实例名.方法名(参数列表)”的形式进行调用;

(3)必须整体进行一个单位的缩进,表示这个方法属于类体中的内容。

例如在下面的实例代码中,演示了定义并使用类方法的过程。

实例7-3:调用类方法打印信息

源码路径:下载包\daima\77-3

实例文件 fang.py 的具体实现代码如下所示。

class Sdmepflclia:o(self):

print( '我定义的类!')

def mycacl(self,x,y):

return x+y

在上述实例代码中,首先定义了一个具有两个方法infoO和 mycacl) 的类,然后实例化

该类,并调用这两个方法。其中第一个方法调用的功能是直接输出信息,第二个方法调用的 功能是计算了参数3和4的和。执行后会输出:

7.4.2 构造方法

在 Python 程序中,在定义类时可以定义一个特殊的构造方法,即 init )方法,注意 init 前后分别是两个下画线“_ ”。构造方法用于类实例化时初始化相关数据,如果在这个方 法中有相关参数,则实例化时就必须提供。

在Python语言中,有很多类都倾向于将对象创建为有初始状态的形式,所以会在很多 类中看到定义一个名为 init__() 的构造方法,例如下面的演示代码:

在 Python 程序中,如果在类中定义了 init O方法,那么类的实例化操作会自动调用 init ) 方法。所以接下来可以这样创建一个新的实例:

x =MyClass()

构造方法 init ()可以有参数,参数通过构造方法 init ()传递到类的实例化操作上。 例如在下面的实例代码中,参数通过_init_(0 传递到类的实例化操作中。

实例7-4:使用构造方法打印信息

源码路径:下载包\daima\7\7-4

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_4.1.2 单元格的赋值
下一篇:《Python学习笔记 从入门到实战》_更了解Python的途径之一_2.3.3 Python中的编码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×