Python Basic
파이썬 기초
파이썬이란
사실 기초가 아니라 C++ 은 이러한데 파이썬은 이렇게 거지같다고 쓰는 푸념글에 불과하다.
파이썬엔 메인 함수가 없다.
메인 함수가 없다는 것은 프로그램을 끝낼 수 없다는 것
exit()
함수를 써서 메인 프로그램을 종료한다.
또한 파이썬은 컴파일 언어가 아니라 인터프리터 언어다.
에러는 도중에 잡아주는 일도 없고
실행하고 나서도 별 다른 도움이 안 된다.
그리고 파이썬은 동적 언어라서 자료형 같은 것은 코드에서 보기 힘들다.
a = []
라거나 num = 3
이렇게 선언하면 기분이 찝찝하다.
코틀린은 언뜻 보면 동적언어이지만 정적언어이다.
에러 안 나게 도와준다던 Nullable 의 유무 어쩌고는 사실 불편하기만 했다.
그래도 자료형이라는 어떤 틀이라도 있었던 코틀린이 파이썬보다 훨씬 낫다.
파이썬과 C++
파이썬은 입력받는 것부터가 다르다.
C++ 에서는
#include <iostream>
...
std::cin >> A >> B;
했다.
파이썬에선
A, B = map(int, input().split())
한다. (Python3)
기초 문법을 익히려고 푼 백준 10871번 문제는
내가 C++ 로 했을 때는 N가지 수를 입력받으면서 동시에 비교하고 출력했다.
근데 파이썬은 그럴 수가 없어서 저 N가지 수를 리스트에 전부 저장해야 한다.
또한 파이썬은 switch / case 가 없다.
또한 파이썬은 삼항연산자가 더럽다.
이는 코틀린 또한 마찬가지이다.
또한 파이썬은 공백으로 블록을 구분한다.
도무지 이해할 수 없는 부분이다.
이거는 PyCharm 으로 개발하면 진짜 신경쓰이게 초록줄을 막 띄운다.
또한 파이썬은 for 와 if 에 괄호를 씌우지 않는다.
파이썬의 for 문은
for i in range(0, size):
arr[i] = doSomething()
if ~~~
이렇게 생겼고, for i in arr
이것도 가능하다.
사실 뒤에 것은 C++에서도 가능하다.
중요한 것은 파이썬의 for 문은 구조가 아예 달라서 초기, 조건, 증감이 뚜렷하지 못하다는 점이다.
또한 파이썬은 논리 연산자가 &&
, ||
이 아니라 and
, or
이다.
또한 파이썬의 set과 dictionary 는 정렬을 해주지 않는다.
C++ 의 set 과 map 은 정렬을 해준다. 그걸 이용해서 문제를 푼 적도 많다.
또한 파이썬은 세미콜론을 찍지 않는다.
마지막 세미콜론은 개발자의 자존심이다.
또한 파이썬은 멋이 없다.
C++ 는 멋있다.
이렇게 파이썬의 기초를 빠르게 훑고 지나갔다.