杂记(python)

class Pizza(object):
  def __init__(self, radius, height):
    self.radius = radius
    self.height = height
  @staticmethod
  def compute_area(radius):
    return math.pi * (radius**2)
  @classmethod
  def compute_volume(cls, height, radius):
    return height * cls.compute_area(radius)
  def get_volume(self):
    return self.compute_volume(self.height, self.radius)

yield (生产者&消费者模型)

def consumer():
    r = ''
    while True:
        n = yield r
        if not n:
            return
        print ('[CONSUME] Consuming %s...' %n)
def produce(c):
    c.send(None)
    n = 0
    while n<5:
        n = n + 1
        print ('[PRODUCER] Producting %s...' %n)
        r = c.send(n)
        print ('[PRODUCER] Consumer return: %s' %r)
    c.close
c = consumer()
produce(c)

__getattr__ 链式调用

class Chain(object):
    def __init__(self, path = ''):
        self._path = path
    def __getattr__(self, path):
        return Chain('%s%s' %(self._path, path))
    def __str__(self):
        return self._path
    __repr__ = __str__

 

转载于:https://www.cnblogs.com/stevenzeng/p/5241796.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值