TIL: Defining method outside of class

This commit is contained in:
Asocia 2021-05-04 14:10:09 +03:00
parent c22fc567ed
commit 2bbc40bfe1

View File

@ -0,0 +1,20 @@
You can define methods outside of class definition. However, you need to make sure that you bound the method *to the class* itself **not** instance.
```python
class Foo:
x = 42
def bar(self):
return self.x
if __name__ == "__main__":
foo = Foo()
Foo.bar = bar
print(foo.bar()) # 42
foo.bar = bar
print(foo.bar()) # error, because `bar` doesn't know about `self`
```