📖C언어와 Python의 문법적 차이
그냥 코딩도장에서 파이썬과 C언어를 복습해보며 느낀 점이다.
문법적 차이만 적기에는 분량이 많지 않을 것 같아 다른 차이점까지 생각을 해보았다.
먼저 가장 체감이 되는것은 딱 두가지라고 생각된다.
첫 번째로, C언어에서 세미콜론은 필수지만 Python에서는 그렇지 않다.
C언어에서 세미콜론은 해당 줄의 코드가 끝났다는 것을 명시해주는 역할을 한다.
하지만 파이썬의 경우 한 줄에 여러 코드를 적고자 할 때만 코드를 분리시켜주기 위해 세미콜론을 사용한다.
두 번째로 느껴지는 것은 무엇보다 변수이다.
C언어에서는 하나의 변수를 선언할 때 자료형은 무조건 정해진다.
예를 들어 정수형 변수를 하나 선언하고 그 변수에 배열을 넣는다면 그것은 오류가 발생한다.
하지만 파이썬의 경우 자료형이 계속 변할 수 있다. int에서 str로, str에서 list로, dict로, tupple로 ...
이렇게 파이썬에서는 하나의 변수가 다양하게 변할 수 있으므로 자유도가 매우 뛰어난 프로그래밍 언어라고 생각된다.
이 두 가지가 가장 체감이 심한 차이점이라고 생각된다.
세 번째로 느껴지는 것은 컴파일러와 인터프리터의 차이이다.
c언어는 컴파일 방식이다. 그래서 c언어 코드를 작성하고 난 후 컴파일이라는 과정을 거쳐 한번에 기계어로 번역해 실행파일을
만든다. 그래서 gcc라는 컴파일러를 주로 사용한다. 그래서 파이썬 처럼 셸이 지원되지 않는다.
하지만 파이썬은 인터프리터 방식이다. 내가 한 줄 입력할 때 마다 그 때 그 때 기계어로 번역해서 실행되는 방식이다.
파이썬도 물론 코드를 작성하여 한번에 실행할 수 있지만, 컴파일러와는 다르다.
컴파일러는 말 그대로 그걸 한번에 기계어로 바꿔버리고, 인터프리터는 한 줄 한 줄 바꿔가며 실행이 된다.
네 번째로 C는 절자치향, Python은 객체지향이다.
C는 절차지향이기에 위에서 아래로 내려가는 순서대로만 프로그래밍이 실행된다.
하지만 파이썬의 경우 객체지향이기에, 하나의 모듈을 만들어 재사용할 수 있다. 그래서 여러 군데에서 재사용할 수 있다.
다섯 번째로는 C언어는 포인터, Python은 id를 통해 주소를 알아낸다.
C언어에서 포인터는 이해가 된다. 파이썬에서 id도 이해가 가는데 그 id값이 어디에 위치한 주소인지를 모르겠다.
근데 일정 범위 이상을 넘어간 정수에 대해서 id값이 바뀌는 것을 보면 메모리에 위치한 값도 아닌 것 같다.
이상.
'스터디 그룹 > ProjectH4C' 카테고리의 다른 글
ProjectH4C 2개월 3주차 과제 ( UNIT34, 35) (0) | 2021.03.03 |
---|---|
ProjectH4C 2개월 2주차 과제 - 10문제 write-up (0) | 2021.02.26 |
ProjectH4C 2개월 1주차 과제 (UNIT16 ~ UNIT33) (0) | 2021.02.20 |
ProjectH4C 2개월 1주차 과제 ( ~ UNIT15) (0) | 2021.02.16 |
ProjectH4C 1개월 3,4주 과제 생활코딩 - HTML (2) (0) | 2021.02.13 |