사전을 통해 변수를 처리 할 수 있는지 알고 싶습니다.사전을 사용하여 변수를 처리하십시오.
예 :
global MyVar
...
MyVar = 0xFFFF
d={"MyVar":MyVar}
def ChangeVar (var_to_change, value)
d[var_to_change] = value #I know this code assigns a new value to the key...
...
ChangeVar("MyVar",25)
...
내가 수정되는 변수 "선택"하는 사전을 사용하고 싶습니다. 나는 항상 배열을 사용할 수 있지만 이것을 수행 할 수 있는지 알고 싶습니다. 필자는 파이썬에서 포인터에 대해 잘 모른다. C에서
이 같은 것 (어쩌면 내가 추가 작성 또는 놓친 '*') :int MyCVar = 0;
int MyCVar2 = 0;
int *MyD[] = {&MyCVar,&MyCVar2};
...
*(MyD[index]) = some_value;
난 당신이 내가 설명하려고 이해 바랍니다.
는조나단 감사
편집 : 가 귀하의 답변에 대한 여러분 모두 감사합니다. 파이썬이 이름과 객체를 아주 다르게 처리했기 때문에 제가하려고했던 일은 아주 어려웠습니다.
class mytype(object):
def __init__(self,name=""):
self.__Name = name
....
myDict[name] = self
나는이 이름 변수의를 사용하여 모든 개체에 액세스 할 수 있습니다 내가 한 일은 이런 일이었다. 이것은 첫 번째 예제에서 설명하려고했던 동작입니다. 그리고 이것이 제가이 객체들에 접근하는 방법입니다.
myDict["MyVar"].Value = 1
감사합니다. 귀하의 답변은 좋은 아이디어였습니다.
무엇이 요점입니까? –
그럴 필요가 없습니다 ...'locals() [ 'Myvar'] = 25' – JBernardo