검색하다가 모르던거 정리
1. 컴파일과 트랜스파일 차이
요약 : C언어 -> bytecode 는 컴파일, TypeScripit -> JavaScripit 는 트랜스파일
https://firstws.tistory.com/34
2. Syntatic Sugar
문법적 기능은 그대로인데 그것을 읽는 사람이 직관적으로 쉽게 코드를 읽을 수 있게 만든다는 것
https://medium.com/analytics-vidhya/syntactic-sugar-in-python-3e61d1ef2bbf
3. pydantic과 pythonic 이란
"파이써닉"은 파이썬 코드의 가독성과 명확성을 강조하는 프로그래밍 스타일을 의미하고
"파이단틱"은 파이썬의 표현력을 최대한 활용하여 코드를 간결하게 작성하는 것
4. python lambda는 왜 multi line 을 제공하지 않는걸까?
- 비슷한 문법인 def가 있기 때문에 제공할 필요가 없다.
- 매개변수로 사용되는 람다의 크기를 제한하기 위해서이다.
- 람다에서 들여쓰기로 multi line을 사용하면, 들여 쓰기 기반 블록을 포함하는 솔루션을 받아 들일 수 없다.
- \ 같은걸로 처리해서 multi line을 사용하면 pydantic 하지 않다.
- 파이썬은 한가지 방법으로 개발하도록 돕는 방식이기 때문에 개발하는 방식이 다양해지면 단점이 많아진다. 때문에 익명으로 써도 될만큼 간단한 로직(순수 반복)만 쓰기 위해서
https://www.dogdrip.net/314441317
https://www.itworld.co.kr/news/235674
5. python 구조분해할당
객체나 배열을 변수로 '분해’할 수 있게 해주는 특별한 문법을 말한다.
https://sozerodev.tistory.com/196
6. 다양한 lambda 사용법
lambda는 리스트뿐만 아니라 딕셔너리, reduce, map, filter 등 내장함수에서도 사용가능하다.
7. lambda 사용을 피해야하는 상황
- 복잡한 로직: Lambda 표현식은 단순하고 간결한 함수를 정의하는 데 적합하지만, 복잡한 로직이나 긴 함수를 표현하기에는 적합하지 않는다. 이런 경우에는 일반적인 함수 정의를 사용하는 것이 더욱 명확하고 가독성이 좋을 수 있다.
- 가독성이 중요한 경우: Lambda 표현식은 간단한 함수를 한 줄로 표현하는 데 적합하지만, 코드의 가독성이 중요한 경우에는 일반적인 함수 정의가 더 좋을 수 있다. 함수의 이름과 매개변수를 명시적으로 정의함으로써 코드를 이해하기 쉽게 만들 수 있다.
- 디버깅의 어려움: Lambda 표현식은 익명 함수로 정의되기 때문에 디버깅이 어려울 수 있다. Lambda 표현식을 사용할 때는 디버깅을 위해 함수를 분리하거나, 디버깅 도구를 적절히 활용하는 등의 방법을 고려해야 한다.
- 테스트의 어려움: Lambda 표현식은 단순한 함수이기 때문에 테스트하기가 어려울 수 있다. 함수의 로직을 독립적으로 테스트하고자 할 때는 Lambda 대신 일반적인 함수 정의를 사용하는 것이 더 편리할 수 있다.
Lambda 표현식은 간단하고 간결한 함수를 표현할 때 유용하지만, 위와 같은 상황에서는 일반적인 함수 정의를 사용하는 것이 더 좋은 선택일 수 있다. 코드의 가독성과 유지보수성을 고려하여 적절한 방식을 선택하는 것이 중요하다.
8. python 변수 초기화
var_integer = 0
var_float = 0.0
var_string = '' # or ""
var_object = None # or list일 경우 [], dictionary일 경우 {}
var_boolean = False # or True
https://this-programmer.tistory.com/378