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

相关推荐

  • javagetclass与classforname(javagetclass获取属性值)

    技术Java中的getClass()及getName()方法怎么使用本篇内容介绍了“Java中的getClass()及getName()方法怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就

    攻略 2021年12月22日
  • ELK安装是怎样的

    技术ELK安装是怎样的这篇文章给大家介绍ELK安装是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一:安装环境: 1. VMware Workstation Pro 15 下载及安装

    攻略 2021年10月20日
  • 如何分析大数据中的网络协议

    技术如何分析大数据中的网络协议这篇文章将为大家详细讲解有关如何分析大数据中的网络协议,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、什么是协议协议,相当于正常交流必须掌

    攻略 2021年12月9日
  • Cubieboard 3如何安装Jenkins

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

    攻略 2021年11月26日
  • Python字符串中的r和u的区别是什么

    技术Python字符串中的r和u的区别是什么这篇文章主要介绍“Python字符串中的r和u的区别是什么”,在日常操作中,相信很多人在Python字符串中的r和u的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好

    攻略 2021年12月13日
  • redis的五种数据类型以及用途(redis 有哪些数据类型)

    技术Redis中的特殊数据类型有哪些这篇文章将为大家详细讲解有关Redis中的特殊数据类型有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis除了5种基础数据类型,还有三种特

    攻略 2021年12月22日