По сути, вы создаете класс с именем SomeClass
с атрибутом класса x = 10
.
Как указано здесь , атрибут класса похож - но не идентичен - ключевому слову static
, используемому в классах в некоторых языках программирования, таких как C ++ или Java.
В соответствии с документами Python (https://docs.python.org/2/tutorial/classes.html), [...] Атрибуты класса также могут быть назначены, так что вы можете изменить значение SomeClass.x
с помощью присваивания. [ ...]
Однако это не ваш случай, потому что каждый раз, когда вы вызываете функцию Method()
, вы в основном создаете новый экземпляр SomeClass()
.
РЕДАКТИРОВАТЬ : Посмотрите на это
class SomeClass:
x = 10
def Method():
return SomeClass()
myInstance = Method()
print(myInstance.x) # prints '10'
myInstance.x = 5
print(myInstance.x) # prints '5'
В этом случае вы изменяете атрибут класса в том же экземпляре класса, который называется myInstance
, и успешно изменяете его значение, как указано в документации.