zoukankan      html  css  js  c++  java
  • 面向对象的高级2

    class Good():
        def __init__(self):
            self.original=100
            self.discount = 0.8
    
        @property
        def price(self):
            new_price=self.original*self.discount
            return new_price
        @price.setter
        def price(self,value):
            self.original=value
    
        @price.deleter
        def price(self,value):
            del self.original
        def __del__(self):
            pass
        def __call__(self, *args, **kwargs):
            pass
    
    
    # obj=Good()
    # print(obj.price)
    # obj.price = 200
    # # del obj.price
    # print(obj.price)
    
    '''
    1.__doc__:类的描述信息
    2.__module__:当前操作的对象在哪个模块
    3.__class__:当前操作的类是什么
    4.__call__:对象后面加括号,触发执行
    5.__dict__:类或对象中的所有成员
    6.__getitem__,__setitem__,__delitem__:用于索引操作,如字典。以上分别获取、设置、删除数据
    7.__del__:析构方法,当对象在内存中被释放时,自动触发执行。可以写一些,数据库或是文件的关闭操作
    8.__iter__:用于迭代器,之所以列表、字典、元祖可以进行for循环,是因为类型内部定义了__iter__
    
    '''
    from copy文件 import A
    class C:
        '''去年买个包'''
        def __init__(self):
            self.name='dog'
        def __call__(self, *args, **kwargs):
            print('__call__')
    
    a=A()
    c=C()
    C()()#执行call方法
    print(c.__doc__)#去年买个包
    print(C.__module__)#__main__
    print(a.__module__)#copy文件
    print(c.__class__)#<class '__main__.C'>
    print(a.__class__)#<class 'copy文件.A'>
    print(a.__dict__)#{}
    print(c.__dict__)#{'name': 'dog'}
    
    # s=str(123).__iter__()
    # print(s.__next__)
    
    
    def my_range(bound):
        for i in range(bound):
            return i
    a=my_range(100)
  • 相关阅读:
    Android数字选择器-NumberPicker
    Eclipse上传代码到GitHub
    TortoiseGit上传代码到GitHub
    Git的简单介绍
    Android中的树状(tree)列表
    Android数据适配-ExpandableListView
    Android动画-补间(Tween)动画
    Android动画-帧动画
    Android中样式及主题
    Android消息通知-Notification
  • 原文地址:https://www.cnblogs.com/ldq1996/p/8448648.html
Copyright © 2011-2022 走看看