Python 实例方法

简介: Python 实例方法

__call__

该方法的功能类似于在类中重载 () 运算符,使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用。

实例

class A:
  def __init__(self, b):
    self.b = b
    def __call__(self, a):
        print(a)
# 注意下面,call使我们可以像调用普通函数一样调用实例,而不是创建类时就执行call,与init不冲突!!!
a = A()
a("调用!")
"""
调用!
"""

__getitem__

__getitem__作用是重载[],在pytorch自定义数据集的实现中,通过索引返回一张图片和对应标签。

实例:

class A:
    def __init__(self):
        self.lst = [1, 2, 3, 4]
    def __getitem__(self, index):
        return self.lst[index]
a = A()
print(a[1])  # result: 2

__next____iter__

将对象变成一个可迭代对象。可以适用next函数调用。

class ite:
    def __init__(self, b):
        self.b = b
    def __next__(self):
        self.b += 1
        return f"this is {self.b}"
    def __iter__(self):  # 没有好像也可以用next调用,问题来了,这个究竟是啥作用?
      return self
c = ite(0)
for i in range(3):
    print(next(c))
"""res
this is 1
this is 2
this is 3
"""


相关文章
|
存储 Python
Python中类方法、实例方法与静态方法的区别
这三种方法的正确使用可以使代码更加清晰、组织良好并且易于理解,从而有效地支持软件开发的面向对象编程范式。
433 1
|
Python
深入理解Python中的类方法、类实例方法和静态方法
深入理解Python中的类方法、类实例方法和静态方法
402 0
【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
【5月更文挑战第6天】【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
|
算法 Python
python笔记-多继承-MRO顺序——类方法、实例方法、静态方法的简单区
python笔记-多继承-MRO顺序——类方法、实例方法、静态方法的简单区
182 0
|
Python
Python - 面向对象编程 - 实例方法、静态方法、类方法
Python - 面向对象编程 - 实例方法、静态方法、类方法
209 0
Python - 面向对象编程 - 实例方法、静态方法、类方法
|
Python
python方法的分类(实例方法、类方法、静态方法)
很多童鞋会比较疑惑,方法和函数有什么区别,都是通过def去定义的啊? 只需要记住一点,方法是用来描述一个目标的行为动作! 不论你是直接通过 类名.方法调用,还是通过由类生成的实例.方法调用。 方法都需要有一个目标才能完成调用的操作。
240 0
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
287 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
312 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
257 103
|
3月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
193 82

推荐镜像

更多