python日常笔记

from types import MethodType
class Screen(object):
    __slots__=('_width','_height','_resolution')

    # __slots__ 限定的是在之后仅仅可以创建的哪些变量,不包含一开始就创建的.如果

    def runner(self):
        print("hhah")

    @property
    def width(self):
        return self._width
    @width.setter
    def width(self,width):
        if not isinstance(width,int):
            print('You should enter an integer')
        else:
            self._width=width
    @property
    def height(self):
        return self._height
    @height.setter
    def height(self,height):
        if not isinstance(height,int):
            print('You should enter an integer')
        else:
            self._height=height
    @property
    def resolution(self):
        return self._width*self._height


print(hasattr(Screen, '_width'))

sc = Screen()
sc.width = 1024
sc.height = 768
print(hasattr(sc, 'width'))

print(sc.resolution)


def run():
    print("running")


# sc.run = MethodType(run, sc)

# sc.run()

sc.runner()

在python中子类和父类可以共享同一个方法属性(代码段存储在一个块中,引用时只是将指针指向了那里),但是,对于变量属性,子类必须是在内存区间中另创建一个区间去存储变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值