python 类和对象 有必要学吗_类与对象-python学习19

类与对象

类:我们常用类来划分一个个特定的群体;我们所说的类,是物以类聚的类,是分门别类的类,是多个类似事物组成的群体的统称。类的概念能帮助我们快速理解和判断事物的性质。

类(class),比如整数、字符串、浮点数等,不同的数据类型就属于不同的类。我们可以用type()函数来验证类。编程世界中,每个类也会有众多实际的个例。比如数字1和2,都属于整数类;'第一个栗子'和'第二个栗子',都属于字符串类。

在Python的术语里,我们把类的个例就叫做实例?(instance),可理解为“实际的例子”。类是某个特定的群体,实例是群体中某个具体的个体。

对象:Python中的对象等于类和实例的集合:即类可以看作是对象,实例也可以看作是对象,比如列表list是个类对象,[1,2]是个实例对象,它们都是对象。

类和实例之共同点:

第一种是描述事物是怎样的,有什么特征,比如黑眼睛、黄皮肤。

第二种是描述事物能做什么,有哪些行为和作用,比如能用筷子吃饭、会讲汉语。

我们会把第一种共同点叫作属性(即what),第二种叫作方法(即how)。

比如列表的属性有:外层有中括号,元素之间用英文逗号隔开,方法有:都可以做增删改操作(如 append、del等)。

Python里的每个类都有自己独特的属性(attribute)和方法(method),是这个类的所有实例都共享的。换言之,每个实例都可以调用类中所有的属性和方法。

编程中还是有一点和现实不同。那就是——现实世界中各个类的属性和方法是我们根据客观存在做出的抽象总结。

而编程世界中各个类的属性和方法,是需要我们自行创建的(实际上整数、列表这些内置数据类型也是需要的,只不过Python预先创建好了,我们可以直接使用)。

类的创建和调用:

类的创建:如图

1644196076f4142f5226f019f9062b81.png

类的创建

实例方法的创建语句,和函数的定义语句很类似,唯一不同的是:实例方法中有个必须放在首位的参数self。

还有,类名的首字母要大写,以便让我们轻松地辨认出这个是类!

类的调用:实例的属性,如图:

192db97570304e49dd0abf6acf5391d4.png

类的调用

类的实例化:

14a87e72724fdc7988afc900ae784352.png

类的实例化

实例属性打印结果:如图

83aca8b74aaf2eb2b79c514d27b37575.png

调用打印结果

第一行:验证了my_computer属于Computer这个类;第二行打印出Computer类的一个实例对象(object),后面的一串字符表示这个对象的内存地址。

当实例my_computer一被创建出来,就可以调用类中的属性和方法。概括说就是:类有的实例都会有。

调用的语法:是实例名.属性和实例名.方法,举例如图:

7d72367965c8b49f30542eac6cfe0930.png

类的调用语法

倒数第二行:my_computer.screen先是获取到类属性screen对应的值True,再用print()打印出来。

最后一行:my_computer.start()调用方法start(),这个方法的功能是直接打印出'电脑正在开机中……'。

注意: 类的第一个字母要大写,参数self的特殊之处:在定义时不能丢,在调用时要忽略。

类的创建和调用语法总结:如图:

6c1b7523db3902b1929db57d4bce2c59.png

类的创建和调用语法总结

类中创建的属性和方法可以被其所有的实例调用,而且,实例的数目在理论上是无限的。我们可以同时“新建”多个实例:类也被称为“实例工厂”,因其为所有实例提供了一套蓝图(即预先设定好有什么属性和方法)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

codevs 2822 爱在心中

时间限制: 1 s空间限制: 128000 KB题目等级 : 钻石 Diamond题目描述 Description“每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让…

python 遍历对象_python js对象的遍历

下面是两组数据格式;都是以对象的形势;现在我要将属性值提取出来;做成一个二级部门导航栏;abc里面的做一级,asd做二级点击厂一宣示对应的部门;点击厂二时候宣示对应的部门;把原有的隐藏var abc{…

最简单的基于FFmpeg的移动端样例:IOS 视频转码器

最简单的基于FFmpeg的移动端样例系列文章列表:最简单的基于FFmpeg的移动端样例:Android HelloWorld最简单的基于FFmpeg的移动端样例:Android 视频解码器最简单的基于FFmpeg的移动端样例:Android 视频解码器-单个库版最简单的基于F…

php去除英文和标点,php 过滤英文标点符号及过滤中文标点符号代码_php技巧

php 过滤英文标点符号 过滤中文标点符号 代码function filter_mark($text){if(trim($text))return ;$textpreg_replace("/[[:punct:]\s]/", ,$text);$texturlencode($text);$textpreg_replace("/(%7E|%60|%21|%40|%23|%24|%25|%5E|%26|%27|%2A|%28|%29|%2B|%7C|…

java调用js匿名函数参数,js匿名函数作为函数参数详解

由衷的感叹,js真是烦。学到现在,渐渐理解了什么是:语言都是通用的,没有好不好,只有擅长不擅长。继承,多态,甚至指针,c能实现,c,java有,javascript…

php 顺序结构,顺序存储结构php实现

// php实现顺序存储$arr [1,3];ListInsert($arr, 2, 6);var_dump($arr);$e GetElem($arr, 2);var_dump($e);// 顺序存储结构的插入function ListInsert(Array &$arr, int $i, int $e){$count count($arr);if($i < 1 || $i > $count 1){throw new Exception(‘数据…

PHP_CodeIgniter _remap重新定义方法

如果controller定义了_remap方法&#xff0c; 在_remap中重新定义方法 class Test extends CI_Controller{public function index(){echo "hello world";}//index.php/Test/success/id/1aapublic function _remap($method,$params){if($methodsuccess){$method . 2; …

php20个字,北京人会说不会写的20个字,第一个我就跪了

这20个字你们都会写吗?扽■ 【读音】dn■ 【释义】拉&#xff0c;猛拉&#xff0c;使伸直或平整。■ 【举例】快来人啊&#xff0c;我扽不住他啦!熥■ 【读音】tēng■ 【释义】把已经熟了的食物再加热。■ 【举例】馒头凉了&#xff0c;熥熥再吃。皴■ 【读音】cūn■ 【释义…

EC2的维护更新

&#xfeff;&#xfeff;2014年9月28日 近期几天。我们收到了一些客户关于我们即将进行维护更新的问题。下面是AWS全球Blog网站对这个问题的说明&#xff0c;供客户參照。 我们已经開始通知那些受影响的客户&#xff0c;关于我们即将实施的安全和维护的更新。我们须要在全球范…

matlab写函数进行坐标正反算,基于matlab的坐标正反算

《基于matlab的坐标正反算》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《基于matlab的坐标正反算(6页珍藏版)》请在人人文库网上搜索。1、基于 matlab 的坐标正反算测量程序设计实验报告实验名称 : 坐标正反算实验三坐标正反算一、实验目的编写坐标正反算程序 , 并…

【洛谷2986】【USACO10MAR】伟大的奶牛聚集

题面 题目描述 Bessie is planning the annual Great Cow Gathering for cows all across the country and, of course, she would like to choose the most convenient location for the gathering to take place. Each cow lives in one of N (1 < N < 100,000) differ…

工作73:获取id值

this.$route.params,id取值