zoukankan      html  css  js  c++  java
  • python特殊成员函数

    1.__init__():构造函数

    2.__del__():析构函数

    3.print(__doc__):打印描述信息

    4.print(Dog.__module__):类来自的模块

    5.print(d1.__class__) :对象属于哪个类

    6.__call__(self, *args, **kwargs):对象(),()带位置参数或关键字参数

    def __call__(self, *args, **kwargs):
            print(self.name,args,kwargs)
    
    d1=Dog('lele')
    d1(1,2,3,4,month=13,sex='mu')

    7.__str__:以规定的格式打印 对象

    print(d1)

    <__main__.Dog object at 0x0000024D9871EF28>

    定义__str__后:

        def __str__(self):    #以规定的格式打印 对象
            return "<obj:%s>"%self.name
    print(d1)

    <obj:lele>

    8.__getitem__,__setitem__,__delitem__:用于索引操作,如字典(Django中不想用户删除某些键,将其设为对象,然后进行索引操作)

     1 class C(object):
     2     def __init__(self):
     3         self.data={}
     4 
     5     def __getitem__(self, key):
     6         self.data.get(key)
     7         print('__getitem__',key)
     8 
     9     def __setitem__(self, key, value):
    10        self.data[key]=value
    11        print('__setitem__', key, value)
    12 
    13     def __delitem__(self, key):
    14         self.data.pop(key)
    15         print('__delitem__', key)
    16 
    17 obj = C()
    18 
    19 obj['k2'] = 'alex'  # 自动触发执行 __setitem__
    20 print(obj.data)
    21 result = obj['k2']  # 自动触发执行 __getitem__
    22 print(obj.data)
    23 del obj['k2']   # 自动触发执行 __getitem__
    24 print(obj.data)
  • 相关阅读:
    十大排序算法总结
    Java Web之监听器
    JVM 内存模型
    设计模式--装饰者模式和建造者模式
    Java Web之过滤器
    jsp-servlet篇(三)
    jsp- servlet篇(二)
    jsp- servlet篇(一)
    xml和xml解析
    k8s环境部署(一)
  • 原文地址:https://www.cnblogs.com/ceceliahappycoding/p/8414159.html
Copyright © 2011-2022 走看看