2017-09-06 1 views

Antwort

3

Nein, was Sie wollen, kann nur mit Methoden in Python erreicht werden. Es ist nicht wie in C++, wo man "Nicht-Mitglied" -Methoden außerhalb der Klasse definieren kann (ich bin mir nicht sicher, ob das der Name für diese ist, aber ich hoffe du weißt, was ich meine).

auch Pythons ganze Zahlen (aber auch schwimmt, Strings, etc.) unterstützt keine neue Attribute/Methoden so dass der einzige Weg, dies durch tatsächlich zu erreichen ist die Klasse Subklassen oder Erstellen eine neue Klasse:

class MyClass(object): # a custom class 
    def __init__(self, val): 
     self.val = val 

    def x(self, other): 
     return self.__class__(self.val + other.val) 

    def __repr__(self): 
     return '{self.__class__.__name__}({self.val})'.format(self=self) 

>>> n1 = MyClass(1) 
>>> n2 = MyClass(2) 
>>> n1.x(n2) 
MyClass(3) 
0

Sie können dies nicht tun, um eine Methode hinzuzufügen. Du kannst auch darunter folgenden verwenden:

0

Warum verwendest du keine Klassen und innerhalb von Klassen definierst du eine Methode namens add.
Eine einfache Implementierung:

>>> class integer(int): 
...  def __init__(self,n) : 
...    self.num = n 
...  def add(self,m) : 
...    return self.num+m 
... 
>>> num1 = 1 
>>> num2 = 2 
>>> num1 + num2 
3 
>>> num1 = integer(num1) 
>>> num1.add(num2) 
3 
Verwandte Themen