[파이썬] 문장 처리 (변수 값 할당, pass문)

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

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^