Python Basic

1 minute read

파이썬 기초

파이썬이란

사실 기초가 아니라 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++ 는 멋있다.

이렇게 파이썬의 기초를 빠르게 훑고 지나갔다.