I. 예약어 (keyword)
가. 예약어란?
- 변수처럼 사용하지만, 문법 규칙에 정한 용도로만 사용이 가능하므로 변수 이름으로 사용이 불가능한 예약된 단어
나. 예약어 확인방법
- [예제] sys 모듈을 import하고 모듈 내 변수 version_info를 조회
>>> import sys >>> sys.version_info sys.version_info(major=3, minor=8, micro=1, releaselevel='final', serial=0) >>>
- [예제] 예약어 관리 모듈인 keyword 모듈을 import하고 어떤 예약어가 있는지 조회
import keyword count = 0 for i in keyword.kwlist : print(i, end=", ") [결과] False, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield,
II. 파이썬에서 사용 가능한 문자
가. 파이썬에서 사용할 수 있는 언어
- 파이썬은 string 모듈 내에 있는 유니코드 문자 언어 사용 가능
나. 파이썬에서 사용 가능한 문자 알아보기
- [예제] 파이썬에서 사용 가능한 문자 세트
import string for i in dir(string) : print(i, end=", ") [결과] Formatter, Template, _ChainMap, _TemplateMetaclass, __all__, __builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __spec__, _re, _sentinel_dict, _string, ascii_letters, ascii_lowercase, ascii_uppercase, capwords, digits, hexdigits, octdigits, printable, punctuation, whitespace,
- [예제] 파이썬에서 사용 가능한 ASCII 문자 조회
import string for i in string.ascii_letters : print(i, end=", ") [결과] a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,
- [예제] 파이썬에서 사용 가능한 숫자 조회
import string for i in string.digits : print(i, end=", ") [결과] 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
III. 변수 이름 정의 규칙
- 함수, 객체, 변수 이름의 첫 글자는 소문자를 사용한다.
- 클래스 이름의 첫 글자는 대문자를 사용한다.
- 이름을 두 단어 이상으로 쓸 때는 두 번째 단어의 첫 글자를 대문자로 쓴다.
- 클래스나 객체 내 보호 속성을 정의할 때는 첫 글자를 밑줄(_)부터 시작한다. (보호 속성은 외부 클래스와 객체에서 속성에 직접 접근해서 사용하지 않도록 주의)
- 예약어와 같은 이름의 변수 이름을 사용하려면 예약어 뒤에 밑줄을 붙인다.
- 클래스나 객체의 비공개 속성은 외부에서 직접 접근할 수 없게 이름을 변경하는 구조인 맹글링(Mangling) 처리 방식이다. 이때는 이름 앞에 __(double underscore)를 붙이면 자동으로 _클래스 이름이 붙여진다.
- 파이썬 내부에서만 사용되는 스페셜 속성이나 메소드는 이름 양쪽에 __를 붙여 사용한다.
IV. 내장 이름 공간과 전역 이름 공간
가. 내장 이름 공간 (builtin namespace)
- 파이썬이 설치되면 자동으로 제공되는 함수와 클래스를 관리하는 영역
- 별도의 모듈을 import하지 않고 내부 함수와 클래스를 사용
print(__builtins__) [결과] <module 'builtins' (built-in)>
나. 전역 이름 공간 (global namespace)
- 모듈 내 정의된 모든 변수를 관리하는 영역
i = 10 print(globals()['i']) [결과] 10
[참고]
- 잇플, “한 권으로 개발자가 원하던 파이썬 심화 A to Z”, 2019.11