首页 > 解决方案 > 每次我在类内调用函数时如何打印语句

问题描述

class Test:
    print("This is class Test")
    def meth1(self):
        print("This is meth1")
    def meth2(self):
        print("This is meth2")

a=Test()
  1. 我的问题是每次我在课堂上调用 meth1 和 meth2 时。我需要在函数打印语句说之前打印语句。"This is from class Test"

  2. 输出应该是这样的:

     This is from class test
     This is from meth1
    
     This is from class test 
     This is from meth2
    

标签: python

解决方案


您可以使用装饰器的概念。就像下面给出的

def desc_message(func):
    def wrapper(*args, **kwargs):
        print("This is class test")
        func(*args, **kwargs)
    return wrapper

class Test:
    @desc_message
    def meth1(self):
        print("This is meth1")
    
    @desc_message
    def meth2(self):
        print("This is meth2")

a=Test()

输出将是

This is class test
This is meth1
This is class test
This is meth2

推荐阅读