掌握Python的X篇_37_类的实例化、类方法

这篇具有很好参考价值的文章主要介绍了掌握Python的X篇_37_类的实例化、类方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上篇我们已经学习了python中的类,并且学习到可以通过class关键字定义类,而类的最基本特性就是它是一个名称空间,本篇将会学习类的实例化。

1. 类的实例化

上篇中新定义的类,不仅可以作为名称空间使用,实际上还可以像函数那样调用

In [1]: class Dog:
   ...:     x = 5
   ...:     def fun1(arg1,arg2):
   ...:         print(arg1,arg2)
   ...:
   ...: if __name__ == "__main__":
   ...:     Dog.fun1("brothers", "666")
   ...:
brothers 666

In [2]: Dog() #实例化对象
Out[2]: <__main__.Dog at 0x213762e82b0>

以上,调用Dog()的过程,我们称作类的实例化,了解类的实例化,要先了解类和对象的关系。

简单而言,类就想是一个“模具”,而”对象”是由模具生产的各个具体的“东西"

比如,汽车厂的生产线上,有车模具,根据车的模具,可以制作出很多具体的车。
以上,模具就是”类”,具体的车,就是依照”类”生成的对象

只不过,以上的Dog类内部没有任何东西,我们需要结合一个特殊的__int__函数,才能够使得对象的实例化有意义。

1.1__init__函数

我们进一步丰富Dog类,通过定义’init’方法:

In [3]: class Dog:
   ...:     def __init__(self,arg_name,arg_age):
   ...:         self.name = arg_name
   ...:         self.age = arg_age
   ...:
   ...: if __name__ == "__main__":
   ...:     dog1 = Dog("旺财",5)
   ...:     dog2 = Dog("小强",6)
   ...:

In [4]: dog1
Out[4]: <__main__.Dog at 0x21376553670>

In [5]: dog2
Out[5]: <__main__.Dog at 0x21376553ee0>

In [6]: dog1.name
Out[6]: '旺财'

In [7]: dog2.name
Out[7]: '小强'

以上代码展示了,我们使用Dog类,实例化得到了具体的2个object(“旺财”,“小强”)

1.2 实例化流程

实际上,当我们调用’Dog’时,内部会发生以下几个事情:

  • python会创造一个空白的“object”
  • python会自动调用’init’方法,并且把以上的空白object,当作第一个参数’self’,传递给’init
  • 因为我们的’init’中包含了’self.xx = yy’这类代码,因此就完成了初始化

2. 类方法与成员

类作为特殊的名称空间,使得类中定义的函数就变得比较特殊。因此,我们以后将类中定义的函数,称为方法(method).
之所以特殊对待,是因为类方法的调用过程比较特殊。

class Dog:
    def __init__(self,arg_name,arg_age):
        self.name = arg_name
        self.age = arg_age
    
    def introduce(self):
        print("我是",self.name,"年龄",self.age)

if __name__ == "__main__":
    dog1 = Dog("旺财",5)
    dog2 = Dog("小强",6)
    dog1.introduce() #等价于dog1.introduce(dog1)
    dog2.introduce()

可以看出,类的方法调用语法:

实例化对象.<方法名>()

之所以我们没有显示传递"self"对应的实参,是因为python其实会偷偷将.之前的实例化对象,作为self传递。

3. 学习视频地址:类的实例化、类方法文章来源地址https://www.toymoban.com/news/detail-645549.html

到了这里,关于掌握Python的X篇_37_类的实例化、类方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python入门基础(14)--类的属性、成员方法、静态方法以及继承、重载

    上一篇提到过类的属性,但没有详细介绍,本篇详细介绍一下类的属性 一 、类的属性 方法是用来操作数据的,而属性则是建模必不的内容,而且操作的数据,大多数是属性,比如游戏中的某个boss类,它的生命值就是属性(不同级别的boss,有不同的生命值),被攻击方法(不

    2024年02月08日
    浏览(32)
  • Python中的super:调用父类的构造方法

     在子类构造方法中调用父类构造方法的两种方式: 1、未绑定的方法: 直接使用父类名来进行调用 ,即‘父类名.父类方法名(self,[参数1, 参数2,...])’ 2、 super() : 如果涉及多继承,该函数只能调用第一个直接父类的构造方法。super().父类方法名(self, [参数1, 参数2,...])或supe

    2024年02月15日
    浏览(46)
  • 掌握NLTK:Python自然语言处理库中级教程

    在之前的初级教程中,我们已经了解了NLTK(Natural Language Toolkit)的基本用法,如进行文本分词、词性标注和停用词移除等。在本篇中级教程中,我们将进一步探索NLTK的更多功能,包括词干提取、词形还原、n-gram模型以及词云的绘制。 词干提取是一种将词语简化为其基本形式

    2024年02月14日
    浏览(33)
  • 进阶高级Python开发工程师,不得不掌握的Python高并发编程

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+         Python成为时下技术革新的弄潮儿,全民Python的发展趋势让人们不再满足于简单地

    2024年02月17日
    浏览(36)
  • 掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)

    通道(Channel)是用来在 Go 程序中传递数据的一种数据结构。它是一种类型安全的、并发安全的、阻塞式的数据传输方式,用于在不同的 Go 协程之间传递消息。 基本概念 创建通道 :使用 make() 函数创建一个通道。 发送数据 :使用 - 操作符向通道发送数据。 接收数据 :使用

    2024年03月21日
    浏览(49)
  • 【Python】进阶学习:一文掌握resize方法,轻松调整图像大小

    【Python】进阶学习:一文带你使用resize方法调整image对象的图像大小 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分享更多

    2024年04月25日
    浏览(58)
  • python实例方法,类方法和静态方法区别

    @为python中的装饰器         实例方法时直接定义在类中的函数,不需要任何修饰。只能通过类的实例化对象来调用。不能通过类名来调用。         类方法,是类中使用@classmethod修饰的函数。类方法在定义的时候需要有表示 类对象 的参数(一般命名为cls, cls是一个类对象

    2024年02月11日
    浏览(31)
  • 基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 Python 2.2 Matlab 🎉3 参考文献 🌈4 Matla

    2024年02月15日
    浏览(30)
  • Java开发者的Python快速进修指南:掌握T检验

    T检验是一种用于比较两个独立样本均值差异的统计方法。它通过计算T值和P值来判断样本之间是否存在显著性差异。通常情况下,我们会有两组数据,例如一组实验组和一组对照组。 T检验的原假设是两组样本的均值相等,备假设是两组样本的均值不相等。T检验会计算一个

    2024年03月09日
    浏览(55)
  • 五分钟快速掌握Python中dict(字典)的详细使用方法

    目录 概念: dict的定义格式: dict的使用方法: 定义空字典的两种方法: dict.clear:  copy: copy:浅拷贝 deepcopy:深拷贝 get:  items:  keys:  popitem:  setdefault:  update:  values: dict----dictionary  字典: 根据去获取内容 不能重复 必须是不可变的数据类型

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包