• 4
  • 新人请关照

python如何简便的给某段代码中的print加参数?

def func():
    ...
    print('test')
    ...

func 里面好多 print...

想使用类似装饰器的方式改成:

def func():
    ...
    print('test', file=stream)
    ...

如何操作?

阅读 846
评论
    3 个回答

    感觉您说的应该是装饰器@property吧,直接把类方法当成类属性来使用

    贴一段代码,参考廖学峰的官方网站

    class Student(object):
    
        @property
        def score(self):
            return self._score
    
        @score.setter
        def score(self, value):
            if not isinstance(value, int):
                raise ValueError('score must be an integer!')
            if value < 0 or value > 100:
                raise ValueError('score must between 0 ~ 100!')
            self._score = value
    
    
    >>> s = Student()
    >>> s.score = 60 # OK,实际转化为s.set_score(60)
    >>> s.score # OK,实际转化为s.get_score()
    60
    >>> s.score = 9999
    Traceback (most recent call last):
      ...
    ValueError: score must between 0 ~ 100!
    
    
      相似问题
      推荐文章