如何重写用户定义的函数并将其更改为用户定义的方法?

时间:2018-12-23 21:50:43

标签: python class methods user-defined-functions

我在下面的代码中有一个用户定义的函数。有没有一种方法可以让我用不同的语法来重写它,而不必在所需变量旁使用方括号,而可以将函数用作诸如.printfunction之类的方法。有没有一种使用类和方法将函数重写为方法而不是用户定义函数的方法?

所需的输出必须为xY。

def printfunction(var2):
    return "x" + var2

printfunction("Y")

def printfunction(var2):
    return "x" + var2

#Desired Syntax
var1 = "x"
var1.printfunction("Y")

2 个答案:

答案 0 :(得分:1)

我不确定您运行的是哪个版本的python,但这对我有用。

class String():
    def __init__(self,str):
        self.str = str
    def printfunction(self,append_this):
        print(self.str + append_this)


var1 = String('x')
var1.printfunction('Y')

答案 1 :(得分:0)

感谢@grayson和@Patrick Artner的建议。我可以回答我的问题

class Strgcust(str):
     def printfunction(self, var1):
             return (self + var1)

var1 = Strgcust("x")

var1.printfunction(str("Y"))
相关问题