如何在类中调用函数?

我有一个类globals.py

#!/usr/bin/env python

class fg():                                                                                                                           
    def red(text):     return f'33[00;49;031m{text}33[0m'
    def heading(text): return red(text)

我的testrun.py脚本如下:

#!/usr/bin/env python

from globals import fg

# Command 1:
print(fg.red("My text"))
# prints as expected


# Command 2:
print(fg.heading("My text"))
# throws the error: NameError: name 'red' is not defined

问题是如何red在函数内调用heading函数。

回答

调用成员函数时,您必须使用 self 参数,并启动类。所以电话会是这样的。

class fg():                                                                                                                           
    def red(self, text):
        return f'33[00;49;031m{text}33[0m'
    def heading(self, text):
        return self.red(text)

进而

print(fg().red("My text"))
# prints as expected


# Command 2:
print(fg().heading("My text"))


以上是如何在类中调用函数?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>