实例方法在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)

相关推荐

  • 如何进行Cobaltstrike中的远程控制

    技术如何进行Cobaltstrike中的远程控制今天就跟大家聊聊有关如何进行Cobaltstrike中的远程控制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、

    攻略 2021年12月10日
  • 怎样从Oracle到GaussDB的数据迁移

    技术怎样从Oracle到GaussDB的数据迁移今天就跟大家聊聊有关怎样从Oracle到GaussDB的数据迁移,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 一

    攻略 2021年11月30日
  • Spark Connector Reader 原理与实践是怎样的

    技术Spark Connector Reader 原理与实践是怎样的本篇文章为大家展示了Spark Connector Reader 原理与实践是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介

    攻略 2021年12月3日
  • Oracle如何向PostgresQL移植

    技术Oracle如何向PostgresQL移植这篇文章主要为大家展示了“Oracle如何向PostgresQL移植”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle如

    攻略 2021年11月26日
  • Vue+ElementUI怎么处理超大表单

    技术Vue+ElementUI怎么处理超大表单Vue+ElementUI怎么处理超大表单,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。最近公

    攻略 2021年11月23日
  • C++中怎么使用工厂函数

    技术C++中怎么使用工厂函数本篇内容介绍了“C++中怎么使用工厂函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!如果在

    攻略 2021年11月29日