Как переписать пользовательскую функцию и изменить ее на метод, определенный пользователем? - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть пользовательская функция в коде ниже.Есть ли способ для меня переписать его с другим синтаксисом, где я не использую скобки вокруг переменной, которую я хочу, а скорее функцию в качестве метода, такого как .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 голосов
/ 24 декабря 2018

Я не уверен, на какой версии 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')
0 голосов
/ 24 декабря 2018

Спасибо советам @grayson и @Patrick Artner.Я могу ответить на мой вопрос

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

var1 = Strgcust("x")

var1.printfunction(str("Y"))
...