I. 변수에 값 할당
가. 단일 변수에 값 할당
- 변수를 정의하면 이름 공간에 변수의 이름을 키(Key)로 만들고 객체를 값으로 저장
- [예제] 변수에 값 할당
a = 10 print("변수검색 : ", globals()['a']) def func(x, y) : return x + y print("함수검색 : ", globals()['func']) print("함수실행 : ", globals()['func'](1, 2)) [결과] 변수검색 : 10 함수검색 : <function func at 0x00DE50B8> 함수실행 : 3
나. 여러 변수에 값 할당
- 변수의 개수와 원소의 개수가 같아야 1:1 맵핑으로 할당 가능
a, b, c = [1, 2, 3] x, y, z = "일이삼" print(a) print(b) print(c) print(x) print(y) print(z) [결과] 1 2 3 일 이 삼
- 변수와 원소의 개수가 일치하지 않을 경우 “ValueError” 에러 발생
II. 사용하지 않는 문장(pass) 작성
가. 기능 없는 문장 작성
- 조건문, 순환문, 함수, 클래스 등은 몸체부에 기능을 작성해야 하며, 내용이 없을 경우 pass 문을 작성해야 함
- [예제] pass 문장 작성
for i in range(10) : pass # 내용이 아직 정해지지 않았을 경우 pass 문 작성 print(i) [결과(에러 발생하지 않음)] 9
나. 사용하지 않는 변수 처리
- 변수의 이름을 지정하지 않고 할당 시 밑줄(_)을 사용
- [예제] 미사용 변수 처리
a, _ = 10, 20 print(a) print(_) # 실제 조회하면 값이 저장된 것을 알 수 있으나 재사용하지 않음 [결과] 10 20
IV. map 클래스
- 리스트를 받아 원소를 변경할 때 map 클래스를 사용
- 파이썬3부터 map 클래스에 리스트를 전달하면 반복자 객체가 반환
- 반복자 객체로 리스트 내부 원소의 변경 결과 확인 가능
- [예제] 객체 내 원소 변경
import math m = map(math.sqrt, [1, 3, 9]) # 리스트를 전달해서 sqrt(제곱근)로 변형 print(type(m)) print([*m]) # "*"를 이용하여 map 객체를 자동으로 처리 [결과] <class 'map'> [1.0, 1.7320508075688772, 3.0]
- 대괄호와 함께 별표(*)를 사용하면 모든 원소를 자동으로 하나씩 추출해서 리스트의 원소로 저장 (Unpacking 기능)
[참고]
- 잇플, “한 권으로 개발자가 원하던 파이썬 심화 A to Z”, 2019.11