Python/Python 기초

[Python] 파이썬 문법 기초

데이터 세상 2022. 4. 26. 01:36
728x90
반응형

Intent

파이썬 공식 가이드인 PEP 8(https://peps.python.org/pep-0008/)에 따라 공백 4칸을 원칙으로 한다.

 

PEP(Python Enhancement Proposals) 프로세스

https://peps.python.org/

새로운 기능을 제안하고 커뮤니티의 의견을 수렴하여 파이썬의 디자인 결정을 문서화하는 파이썬의 주요 개발 프로세스

 


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

print('a', 'b', sep=',')
>> a, b

print('a' end=' ')
print('b')
>> a b

pass

Null operation으로 아무것도 하지 않는 기능이다.

먼저 mockup 인터페이스부터 구현한 다음에 추후 구현을 진행할 수 있도록 해준다.


locals

로컬 심볼 테이블 딕셔너리를 가져오는 메소드, 로컬에 선언된 모든 변수를 조회할 수 있다.

클래스의 특정 메소드 내부에서나 함수 내부의 로컬 정보를 조회해 잘못 선언한 부분이 없는 확인하는 용도로 활용할 수 있다.


References

728x90
반응형

'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