python - python如何传递Class/Instance中的第一个变量
问题描述
在我的课堂上:
class MyClass:
def __init__(self):
self.title = None
python如何“知道”MyClass
在执行以下操作时作为第一个参数传递给init:
MyClass()
同样,如果我有一个类方法,python 怎么会“知道”MyClass
作为第一个参数(cls)传递呢?
解决方案
这只是解释器(或编译器)的编写方式。解释器(或编译器)的工作是识别
MyClass()
应该初始化一个MyClass
对象并__init__
以新创建的对象作为self
参数调用方法。请注意,作为注释之一,分配给self
参数的是新对象,而不是MyClass
.
在您调用非初始化方法的情况下,解释器(或编译器)同样知道您正在调用一个方法,因此它将对象作为第一个参数。
推荐阅读
- java - 冒泡排序和输入
- sparql - ُEXISTS 和 join 两个 SPARQL 查询中的不同值返回不同的结果,而他们应该做同样的事情?
- reactjs - 反应 CSSTransition“类型 {number} 不可分配给布尔类型”
- javascript - Promise.resolve() 如何在后台工作?具体来说,它究竟是如何打开 thenables 的?
- mongodb - MongoDb通过$map映射在数组中添加数组的$avg元素
- python - 在 Python 中调用同一个类中的方法及其依赖项以获取期望值
- linux - 使用非规范地址检索内存数据会导致 SIGSEGV 而不是 SIGBUS
- node.js - HTTP 响应 'ERR_STREAM_WRITE_AFTER_END' Express JS
- javascript - 如何在 Svelte 中可靠地合并这两个数组中的对象并循环生成的数组?
- python - 如何有效地使用 numpy 掩码?