2024年最全用简单例子解析:Python中的类和实例_python 列表和类的实例(1)

本文介绍了Python中类和类的实例的概念,通过实例化过程和汽车登记表的比喻,阐述了类的结构和实例化的概念。同时讲解了如何在Python中创建和使用类及其方法,包括self的作用和Python中特殊方法__init__。最后提到了Python的学习资源和实际应用价值。
摘要由CSDN通过智能技术生成

接下来,我们区分两个关键词“类”和“类的实例”。类确定了结构,但是并不填充内容。比如,表示车的类,指明每辆车需要存三个信息:品牌、型号、和出厂时间,但是并没有说出具体的车的品牌、型号或者出厂时间。

而类的实例是一个特殊的类:指明了各种属性对应的具体信息,比如,我创建了一辆车,品牌是奥迪,型号是Q7,出厂时间是2017。为了更好的理解和区分“类”和“类的实例”,我们打个比方,大家都填过个人信息登记表,每个人都必须填入与表格相对应的信息,比如姓名,性别,年龄等等,但是具体填写的内容因人而异。

类就相当于这个空白的登记表,上面指定了要填写的内容。而你填写完之后的表,就相当于一个类的实例,上面记载着与你个人相关的信息。这个根据类来创建实例的过程叫做“实例化”。

好了,现在我们看一下Python中真实的类(图一car.py)。第一个单词class表示我们在创建一个类。第二个单词Car是类的名字,后面跟一对圆括号,通常来说,默认类名首字母大写。类中的变量称为属性,类中的函数称为方法。

__init__()是一个特殊的初始化函数,创建Car实例时,自动调用该方法,虽未显示地包含return语句,但Python自动返回一个表示这辆车的实例,比如,my_car = Car(‘Audi’, ‘Q7’, ‘2017’) 会把Audi赋给self.make, 把Q7赋给self.model,把2017赋给self.year,并返回一个实例my_car。以self为前缀的变量可供该类中的所有方法使用,比如,在get_descriptive_name()中,可以调用self.make,self.model, self.year。

可以把self理解为一个类的实例,更确切的说,是一个指向实例本身的引用,让实例能够访问类中的属性和方法。还记得之前关于人员登记表的比喻吗?每个实例具有相同的字段结构,但是每个字段里填写的信息不同,这就是为什么写self.make = make,而不是写Car.make = make。

你可能会注意到类中的每个方法的第一个形参都是关键字self,self是必不可少的,而且必须位于首,但是,当我们调用这些方法时候(e.g. my_car = Car(‘Audi’, ‘Q7’, ‘2017’)),只需要传递三个值,为什么略过self这个参数呢?

这是Python中特有的行为:当我们调用一个实例的方法时,Python会自动搞清楚要用哪一个实例,并把它传递到self参数中。我们在接下来介绍如何使用类中的方法时,再给大家具体解释。

图一 car.py

如何使用类?

Python中使用点号访问对象的属性和方法:my_car.year,my_car.get_descriptive_name(),

见图二my_car.py代码中第7-8行。

回到上一个问题,图一中第9行代码定义get_descriptive_name(self)时参数self必不可少,为什么图二第8行代码调用该方法时,省略了实参self?

正是因为我们在调用get_descriptive_name()时用点号指明了实例my_car,Python才能自动识别实例my_car,并创建my_car的引用,并把这个引用传给参数self。如果不通过实例调用方法,我们应该这么写:Car. get_descriptive_name(my_car),此时,明确把my_car当做实参传给参数self,见图二代码第9行。

图二 my_car.py

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值