Expression(식)&eval 과 statement(문)& exec

About_work·2023년 1월 8일
0

python 기초

목록 보기
2/56

Expression (식)

개념

  • 하나 이상의 “값”으로 표현될 수 있는 코드
  • 평가가 가능해서 하나의 “값”으로 환원된다.
  • 수식
    • function call()
    • 변수 이름 등의 식별자
    • 배열 등의 할당 연산자( [] ) 등도 포함
def get(n):
    return n

a, b, c = 1, 2, 3
arr = [1, 2, 3]

1 + 2 + 3	-> 6		# 1
a + b	-> 3		# 2
arr[2]	-> 3		# 3
get(5)	-> 5		# 4
10		-> 10	# 5
  • # 1, 2, 3, 4, 5 는 전부 expression 이다.
    • 하나의 단일 값으로 평가될 수 있다.

eval 함수

  • str 형태의 expression을 argument로 받아 -> 평가해 -> 그 값을 반환하는 함수
a, b = 4, 5
eval('1 + 2 + 3')
eval('a + b')

6
9

Statement (문)

기초

  • 서술
  • 실행가능한 최소의 독립적인 코드 조각
  • 컴파일러가 이해하고 실행할 수 있는 모든 구문
  • statement는 흔히
    • 1개 이상의 expression + 프로그래밍 키워드
a = 3		# 1 # expression X
a, b = 2, 3	# 2 # expression X
if is_valid:		# 3 # expression X
    return 4	# 4 # expression X
  • # 1
    • 변수에 할당하는 할당 statement
    • 평가되어 하나의 값을 반환하지 않는다.
    • 이 statement에는 ‘3’이라는 expression이 쓰이고 있다.
  • # 3
    • 컴퓨터가 실행 가는한 statement
    • if 라는 python keyword가 사용되었다.
  • # 4
    • return statement
    • 이 또한 컴퓨터가 실행 가능

exec 함수

  • 문자열 형태의 statement를 실행하는 내장 함수
  • 예시
    • ‘r1’, ‘r2’, …, ‘r20’ 이라는 변수를 만들고, 1부터 20까지 할당하고 싶은데, 코드는 깔끔하게 짜고 싶을 때
for i in range(1, 20+1):
    exec('r' + str(i) + ' = ' + str(i))

r1
r2
r3
...

1
2
3
...
profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글