Intent
파이썬 공식 가이드인 PEP 8(https://peps.python.org/pep-0008/)에 따라 공백 4칸을 원칙으로 한다.
PEP(Python Enhancement Proposals) 프로세스
새로운 기능을 제안하고 커뮤니티의 의견을 수렴하여 파이썬의 디자인 결정을 문서화하는 파이썬의 주요 개발 프로세스
Naming Convention
변수명과 함수명은 snake case를 따른다.
camelCase
PascalCase
snake_case
Camel Case
camel(낙타)에서 유래해 부른 이름이며 단어를 대소문자로 구분하여 섞어서 작명하는 방식이다.
자바의 대표적인 표기 방식이기도 하다.
Pascal Case
첫 시작 문자도 대모자로 표기하는 방식이다.
Snake Case
snake와 같은 모양에서 유래ㅑ했으며 각 단어를 언더스코어(_)로 구분한다.
Type Hint
동적 타이핑 언어임에도, 타입을 지정할 수 있는 타입 힌트가 PEP 484에 추가됐다.
CPython의 typing.py에 선언할 수 있는 타입이 잘 명시되어 있다.
이 기능은 파이썬 버전 3.5부터 사용할 수 있다.
a: str = '1'
b: int = 1
def fn(a:int) -> bool:
...
mypy
타입 힌트에 오류가 없는지 자동으로 확인할 수 있다
pip install mypy
List Comprehension
기존 리스트를 기반으로 새로운 리스트를 만들어내는 구문
[n * 2 for n in range(1, 10+1) if n % 2 == 1]
>>
[2, 6, 10, 14, 18]
a = {}
for key, value in original.items():
a[key] = value
=>
a = {key: value for key, value in original.items()}
Generator
[Python/Python 기초] - Python Built-in Functions
loop의 반복(Iteration) 동작을 제어할 수 있는 루틴 형태를 말한다.
yield 구문을 사용하면 제너레이터를 리턴할 수 있다.
중간 값을 리턴한 다음 함수는 종료되지 않고 계속해서 맨 끝에 도달할 때까지 실행된다.
enumerate
열거하다는 뜻의 함수로, 여러 가지 자료형(list, set, tuple 등)을 인덱스를 포함한 enumerate 객체로 리턴한다.
data = ['a', 'b', 'c']
for i, v in enumerate(data):
print(i, v)
>>
0 a
1 b
2 c
print('a', 'b', sep=',')
>> a, b
print('a' end=' ')
print('b')
>> a b
pass
Null operation으로 아무것도 하지 않는 기능이다.
먼저 mockup 인터페이스부터 구현한 다음에 추후 구현을 진행할 수 있도록 해준다.
locals
로컬 심볼 테이블 딕셔너리를 가져오는 메소드, 로컬에 선언된 모든 변수를 조회할 수 있다.
클래스의 특정 메소드 내부에서나 함수 내부의 로컬 정보를 조회해 잘못 선언한 부분이 없는 확인하는 용도로 활용할 수 있다.
References
'Python > Python 기초' 카테고리의 다른 글
[Python] 파이썬 코딩 스타일 (0) | 2022.04.26 |
---|---|
Dynamic Typing vs Static Typing (0) | 2022.04.26 |
Object Reference (0) | 2021.02.25 |
[Python] Python Module (0) | 2021.02.24 |
[Python] Python Built-in Functions (0) | 2021.02.24 |