如何在每次调用类内函数时打印一条语句


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
    

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

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

我不太理解你的问题,但这是我所理解的解决方案:

  • 创建一个函数,该函数包含要在其他函数中调用的文本
  • 使用self.func_name()在其他函数中调用该函数
class Test:
def desc(self):
print("This is class Test")
def meth1(self):
self.desc()
print("This is meth1")
def meth2(self):
self.desc()
print("This is meth2")
a=Test()
a.meth2()
>> This is class Test
>> This is meth2

您可以简单地将print语句添加到实例方法中:

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

输出:

This is class Test
This is meth1
This is class Test
This is meth2

最新更新