网站首页 > 技术文章 正文
一、创建实例
1、类的实例化
定义的类只有进行实例化,也就是使用该类创建实例(对象)之后,才能得到使用。
创建类实例(对象)的过程,又称为类的实例化。
其语法格式为:
类名(参数)
在上面的程序中,我们首先创建了一个名为Cat的类,这个类也可以看成是有关如何创建实例的说明,可以使用它创建表示特定小猫的实例。
类体中的构造方法__init__,创建一个表示特定小猫的实例,__init__的参数有三个,除了 self 参数外,还包含 2 个参数name 和 age,因此在实例化类对象时,需要传入相应的 name 值和 age 值(self 参数是特殊参数,不需要手动传值,python 会自动传给它值)。
在代码Cat('Xiaobai',2)中,设置了两个实参'Xiaobai'和2,表示让python创建一个名为Xiaobai,年龄为2的小猫实例。遇到这行代码时,python会使用实参'Xiaobai'和2调用Cat类中的方法__init__。把属性name和age的值分别设置为'Xiaobai'和2。
然后python将自动返回一个表示这只小猫的实例,我们将这个实例存储在变量my_cat中。
注意:定义在各个类方法之外(包含在类中)的变量为类变量(或者类属性)例如上例中的bodyColor和weight,定义在类方法内的变量为实例变量(或者实例属性)例如上例中的name和age。
2、访问属性
使用已创建好的类对象访问类中实例变量,可以使用句点表示法,语法格式如下:
类对象名.变量名
在上面的程序中,print输出语句中的my_cat.name,表示访问属性name,在创建Cat类时引用这个属性时,使用的是self.name,而在这里,使用的是my_cat.name,这时python先找到实例my_cat,再查找与这个实例相关联的属性name。
同理,print输出语句中的str(my_cat.age),表示访问属性age,并将实例my_cat中的属性age的值转换成字符串。
3、调用方法
使用类对象调用类中的方法,可指定实例的名称和要调用的方法,并用句点分隔开,语法格式如下:
对象名.方法名(参数)
上面语句表示调用方法sleep,当遇到代码my_cat.sleep()时,python会在类Cat中查找方法sleep(),并运行其代码,即输出一句话。
4、创建多个实例
我们可以根据需要创建任意数量的实例。
在上例中,我们创建了两只小猫,它们分别名为Xiaobai和Huanhuan,每只小猫都是一个独立的实例,有自己的一组属性,能够执行相同的操作。
二、动手实践
创建一个类,并根据类定义多个实例,然后分别访问实例属性,调用类方法。
猜你喜欢
- 2025-03-11 C语言char的详解
- 2025-03-11 C/C++编程笔记:C语言字符串比较函数,超详细,值得收藏
- 2025-03-11 虚拟内存 和 page fault 的解释
- 2025-03-11 python之魔术方法1:call、len、str、repr
- 2025-03-11 基本功 | Java即时编译器原理解析及实践
- 2025-03-11 系列专栏(八):JS的第七种基本类型Symbols
- 2025-03-11 C语言中的"安全拼接工"--strncat函数
- 2025-03-11 豆瓣9.2!17万条弹幕告诉你《沉默的真相》凭什么高口碑
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)