实例方法在Python类中的是如何工作的

技术实例方法在Python类中的是如何工作的这篇文章给大家介绍实例方法在Python类中的是如何工作的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在OO(面向对象)编程中,类中的方法有多种形式:实

本文介绍了示例方法在Python类中的工作原理,内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。

在面向对象编程中,类中的方法有多种形式:实例方法、静态方法、类方法,甚至抽象方法。让我们讨论一下实例方法在Python中是如何工作的,稍后再讨论其他方法。

要首先定义最简单类:

班级人员:

def __init__(自我,姓名):

self.name=name

def eat(self):

print(self) # __main__。0x00处的人物对象

print(type(self))# class ' _ _ main _ _。“人”

Print(self.name' is eating ')在这里,eat是一个实例方法,类似于普通函数。唯一的区别是必须指定参数本身。虽然名字可以任意命名,但习惯上的名字是self。什么是自我?它表示Person类的实例对象,就像在Java中一样。请看下面的测试代码。

p=人(“张三”)

P.eat()p和self指向同一个实例对象。

实例方法在Python类中的是如何工作的

所以可以直接通过类调用吗?不可能!

Person.eat()

错误: eat()缺少1 required位置参数:“self”那么为什么不需要通过实例P传递self参数来调用eat方法呢?这从函数和方法的区别开始。请看下面的代码:

打印(人.吃)

印刷

#输出

函数people . eat at0x 000001 bb 242 aae 8

绑定方法人。吃__主要的_ _。0x000001bb242b4b38处的person对象前者是函数,后者是方法。有人说函数在类外定义,方法在类内定义,说明这种说法是不完整的。那么它们的区别是什么呢?

首先,方法与对象关联,但函数不关联。p.eat是一个绑定了实例对象的方法。函数的所有参数都需要显式传递,而方法中的数据需要隐式传递。Person.eat是一个函数,参数应该显式传递,Person.eat(p)

方法与实例对象绑定,调用时不需要传递实例对象,直接调用p.eat()即可,自身参数Python会自动传递,重复会报错。

吃饭

Type: eat()接受1个位置参数,但给出了2个,因此,本质上,

P.eat()相当于Person.eat(p)。那么,比如方法,可以从语言设计的角度去掉self参数吗?Python之父吉多范罗苏姆写了一篇文章解释了这个问题,因为“显式比隐式好”

下面是实例方法在Python类中的工作原理。希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/86587.html

(0)

相关推荐

  • Android消息机制Handler用法有哪些

    技术Android消息机制Handler用法有哪些这篇文章主要讲解了“Android消息机制Handler用法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Andr

    攻略 2021年11月30日
  • has、ohasd、crs、cluster区别和联系是怎样的

    技术has、ohasd、crs、cluster区别和联系是怎样的这篇文章将为大家详细讲解有关has、ohasd、crs、cluster区别和联系是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文

    攻略 2021年11月12日
  • JS中的offsetwidth有什么作用

    技术JS中的offsetwidth有什么作用本篇内容介绍了“JS中的offsetwidth有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

    攻略 2021年11月12日
  • 如何通过串口控制树莓派

    技术如何通过串口控制树莓派这篇文章给大家分享的是有关如何通过串口控制树莓派的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。通过串口控制树莓派需求在没有网络,没用键盘,没有显示器的情况下,控制树莓

    攻略 2021年11月20日
  • Oracle中闪回区存储空间报ORA-19815问题怎么办

    技术Oracle中闪回区存储空间报ORA-19815问题怎么办这篇文章给大家分享的是有关Oracle中闪回区存储空间报ORA-19815问题怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

    攻略 2021年11月11日
  • VSCode的使用技巧有哪些

    技术VSCode的使用技巧有哪些本篇内容主要讲解“VSCode的使用技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“VSCode的使用技巧有哪些”吧!1. 查看日志步

    攻略 2021年10月27日