Python에서 변수를 대량 생성하고 호출하는 방법

요 며칠 동안 코드를 작성하는 과정에서 흔히 볼 수 있는 문제는Python에서 어떻게 대량으로 변수를 생성하는지, 예를 들어 변수 X1, X2, X3를 생성하고 후속 방법에서 호출하여 값을 부여하고 값을 얻는 등 조작을 완성하는가이다.이 문제도 흔한 편이지, 전에 만났지만 흐지부지되었다.이번에 같은 문제에 부딪혔다. 비록 세 개의 변수를 만드는 수량이 비교적 적지만 코드 유지보수와 읽기 쉬운 측면에서 고려하면 같은 코드를 세 번 반복해서 쓰는 폐단을 피하기 위해 적당한 수단을 사용해야 한다.백 번, 만 번?이렇게 많이 복사할 수는 없잖아.(왜 복사하지 않습니까? 자세한 내용은 소프트웨어 프로젝트의 소프트웨어 유지 보수를 참조하십시오.)
따라서 같은 코드를 세 번 복제하는 것이 아니라 좋은 습관을 들일 필요가 있다.
Locals() 메서드 사용
일반 함수에서는 확실히 사용할 수 있지만, 클래스에서는 안 된다.이 문제도 나를 오랫동안 괴롭혔기 때문에, 클래스를 작성할 때 대량으로 변수를 만들고 호출해야 할 때, 사용하지 않는 것을 권장합니다.

for i in range(3):
  locals() ['x' + str(i)] = i

for j in range(3):
  a = locals() ['x' + str(j)]
  print(a)
print(x0)
실행 결과는 다음과 같습니다.

0
1
2
0
이 때 일반 함수에서는 모든 것이 정상적이지만 작성된 클래스에서는 실행할 수 없습니다.

class test(object):
  def __init__(self):
    for i in range(3):
      locals() ['self.x' + str(i)] = i
  def run(self):
    for i in range(3):
      a = locals() ['self.x' + str(i)]
      print(a)

a = test()
a.run()
오류 메시지는 다음과 같습니다. 이 변수를 찾지 못했습니다.GUI를 작성할 때 클래스는 자주 사용하는 도구이기 때문에 클래스에서 이 방법을 호출할 때 오류가 발생했습니다.

KeyError: 'self.x0'
그래서 나는 사전을 사용하는 더욱 우아한 방식을 찾았다.
사전 사용
사전 키 값 쌍의 형식, 특히 키는 문자열로 설정할 수 있으며 이런 문제에 대해 좋은 해결 방안을 제공할 수 있다.

class test(object):
  def __init__(self):
    self.d = {}
    for i in range(3):
      self.d['x' + str(i)] = i
  def run(self):
    for i in range(3):
      a = self.d['x' + str(i)]
      print(a)

asd = test()
asd.run()
이때 클래스에서 대량으로 변수를 생성하고 호출할 수 있습니다.일반 함수에서도 가능합니다.

d = {}

for i in range(3):
  d['x' + str(i)] = i
  
print(d.keys())
print(d['x0'])

for i in range(3):
  print(d['x' + str(i)])
출력 결과는 다음과 같습니다.

dict_keys(['x0', 'x1', 'x2'])
0
0
1
2
이상은Python이 어떻게 대량으로 변수를 생성하고 호출하는지에 대한 상세한 내용입니다. 더 많은 Python 대량으로 변수를 생성하고 호출하는지에 관한 자료는 저희 다른 관련 글을 주목해 주십시오!

좋은 웹페이지 즐겨찾기