항해99-TIL-파이썬

장산·2022년 5월 17일
0

파이썬

목록 보기
1/9

알고리즘을 파이썬으로 풀려는데 아직 파이썬을 잘몰라서 공부하면서 풀려고 한다. 생각해보면 쉬운데 뭔가 쉬울수록 어려운 느낌이다.

파이썬이란

파이썬은 1991년 네덜란드계 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다.

주요 특징

1.동적 타이핑(dynamic typing). (실행 시간에 자료형을 검사한다.)
2.객체의 멤버에 무제한으로 접근할 수 있다. (속성이나 전용의 메서드 훅을 만들어 제한할 수는 있음.)
3.모듈, 클래스, 객체와 같은 언어의 요소가 내부에서 접근할 수 있고, 리플렉션을 이용한 기술을 쓸 수 있다.

인덴트

파이썬의 대표적인 특징이기도 한 인덴트는 공식가이드인 PEP8에 따라 공백 4칸을 원칙으로 한다

네이밍 컨벤션

파이썬의 변수명 네이밍 컨벤션은 자바와 달리 각 단어를 밑줄로 구분하여 표기하는 스테이크 케이스를 따른다.이는 함수명도 똑같다.
특히 파이썬은 파이썬다운 방식에 굉장한 자부심이 있어서, 카멜 케이스 뿐만 아니라 자바 스타일로 코딩하는 것을 지양한다.
EX)#카멜케이스: camelCase #스네이크케이스:snake_case

타입 힌트

파이썬은 대표적인 동적 타이핑 언어임에도, 타입을 지정할 수 있는 타입 힌트가 PEP 문서에 추가되었다.이기능은 파이썬 3.5부터 사용할 수 있다.
EX) def fn(a: int) -> bool:
이처럼 타입 힌트를 사용하게 되면 이제 fn()함수의 파라미터 a가 정수형임을 분명하게 알 수 있으며 리턴 값으로 True 또는 False를 리턴할 것이라는 점도 확실하게 알 수 있다.

리스트 컴프리헨션

파이썬은 map,filter와 같은 함수형 기능을 지원하며 람다 표현식도 지원한다.리스트 컴프리헨션이란 기존 리스트를 기반으로 새로운 리스트를 만들어내는 구문으로, 하스켈 같은 함수형 언어에서 기능을 차용해온 파이썬의 대표적인 특징이다. 다방면에서 유용하게 활용되며, 무엇보다 람다 표현식에 map이나 filter를 섞어서 사용하는 것에 비해 가독성이 훨씬 높다.
Ex)```
a = {}
for key, va;ue in original, items():
a[key] = value

->```
a = {key:value for key, value in original.items()}

이처럼 한줄로 간결하게 작성할 수 있는 리스트 컴프리헨션은 가독성이 좋은 편이지만 이 또한 무리하게 복잡하게 작성할 경우 가독성을 떨어뜨릴 수 있으므로 적절히 사용하는게 중요하다. 대체로 표현식은 2개를 넘지 않아야한다.

profile
신입 개발자

0개의 댓글