게임 내내 얼마나 많은 플레이어가 플레이하기로 결정했는지를 알려주는 정적 클래스 속성 인 number_of_players를 보유하고 싶습니다.이 클래스는 클래스 전체에서 수정할 수 있습니다. 나는 number_of_players을 수정하려고 할 때할당 전에 로컬 변수가 참조됩니다. 플레이어 수에 대한 정적 클래스 속성
class SceneBase:
number_of_players = None
#more code
그러나, 자식 클래스에서, 내가 로컬 변수가 assingment 오류 전에 참조 받고 있어요 :
나는 나의 부모 클래스가 있습니다.
class ChooseNumberOfPlayersScene(SceneBase):
def change_to_one_player_mode(self):
self.number_of_players = 1
print("The number of players is now" + self.number_of_players)
self.number_of_players은 절대 변경 및 반환 :
class ChooseNumberOfPlayersScene(SceneBase):
def change_to_one_player_mode(self):
number_of_players = 1
print("The number of players is now" + number_of_players)
는 또한 자기 속성
class SceneBase:
def __init__(self):
self.number_of_players = None
하지만이 함께 있음을 실행하려고 할 때 같은 선수의 수를 초기화 시도 없음
내 선수 수를 수정하는 방법에 관해서 혼란스러워합니다. 모든 수업에서 수정할 수있는 방법이 있나요?
클래스 멤버 속성을 수행하는 경우 'SceneBase.number_of_players' 하나처럼 액세스해야합니다. – user1767754
인스턴스 변수를 사용해야하는 것처럼 들립니다. 특정 클래스 인스턴스의 디폴트 값을 오버라이드 (override)하기 위해서'self.number_of_players'를 설정하면됩니다. –
@ user1767754 기본 클래스를 수정하려는 의도는 아니라고 생각합니다. –