*이 글을 읽기전에 작성자 개인의견이 있으니, 다른 블로그와 교차로 읽는것을 권장합니다.*
프로그래밍 언어는 저급언어, 고급언어로 나눌 수 있는데, 저급언어는 010010111010과 같이 컴퓨터 하드웨어에 직접적으로 가까운 방식으로 사용되고, 고급언어는 사용자편의성에 가까운, 알아보기 쉬운 언어를 말합니다. C언어가 중급언어고, 파이썬이 고급언어로써 C언어의 모듈을 파이썬으로 결합하여 사용한는 경우가 있습니다.
1. python
파이썬은 1991년에 귀도 반 로섬(Guido van Rossum)에 의해 만들어진 인터프리터 프로그래밍 언어,
실행할 수 있는 의사 코드(Executable pseudocode)라고 불릴 정도로 문법이 단순합니다.
사용률과 생산성이 높으며, 실제 실무에서도 많이 사용되는데 이는 APL이나 BASIC 교육용으로 사용되는 다른 언어들과의 차별점이며, 파이썬이 30년 넘게 교육용에서 실무용으로 살아남은 이유입니다.
여기서 나오는 APL, BASIC은 옛날 60년대~80년대 교육용 프로그래밍 언어로 사용되었다는데, 저 문법들로 어떻게 코딩하나 싶네요
1-1. 들여쓰기(코드 블록 표현)
다른 프로그래밍 언어들이 일반적으로 중괄호를 많이 쓰는데 비해, 파이썬은 들여쓰기를 사용합니다. 실제 개발자 의견으로 문맥의 가독성, 시각적으로 쉽기 때문에 들여쓰기를 선호한다고 합니다. (인터뷰 영상https://www.youtube.com/watch?v=GQf25_9NOts)
1-2. 객체 지향 프로그래밍
파이썬에는 원시타입(일대일로 대응하는 객체)이 존재하지 않으며, 멀티 패러다임 언어로써 절차적 프로그래밍, 함수형 프로그래밍, 객체 지향을 지원하는데, 그중 클래스, 함수를 객체 지향하는 것이 파이썬으로 활용하기 쉬운 방면인거 같습니다. 교육의 편의성 측면에서 세계 여러 대학에서도 파이썬으로 가르치는 경향으로 바뀌고 있습니다.
1-3. 동적 타이핑(변수 선언의 부재)
위에 말한 클래스, 함수 등을 객체로 설정하고 명령어를 실행할 때, 파이썬은 명령어가 필요없습니다. 다른 언어들이 let같은 명령어를 필요로 하는데 반해, 파이썬은 직접 유저가 변수 규칙을 만드는 걸 권장함으로써 사용자 편의를 생각합니다. 변수 타입을 지정하지 않아도, 변수에 할당된 메모리 데이터값에 따라 변수의 타입을 추론합니다.
1-4. 연산
파이썬은 def, for~in, yield같이 제너레이터 함수를 사용하는데 필요할 때마다 연산을 하기에 메모리에 효율적입니다.
예시) list(range(0)) list(range(1))... list(range(99))를 range(99)로 표현-> 간결
1-5. 인터프리터
코드를 한꺼번에 실행하는 것을 컴파일러라고 하는데, 이와 반대되는 말로 한줄한줄 읽어가면서 코드를 직접 실행하는 것을 인터프리터라고 합니다. 파이썬은 인터프리터 언어로 코드 에러를 발견하기 쉬운 구조이면서도, 속도가 타 언어보다 느립니다(업데이트하면서 개선되고 있습니다).
1-6. 내장 자료형
파이썬은 데이터기반이기에 여러 자료 학습하는데 특화되어있습니다. 이에 따라 자료형을 리스트(list), 튜플(tuple), 집합(set), 딕셔너리(dict)같은 내장 자료형을 제공합니다. 이는 나중에 배울 ML(머신러닝), DL(딥러닝)이 기계학습이 원론이기 이전에, 데이터기반이라는 중요함에 있습니다.
2. 파이썬 활용분야
컴퓨터 과학이 여러 이론을 계산하고 연구하는 곳이라면, 컴퓨터 공학은 발견된 이론을 바탕으로 여러 모델을 개발하는 학문입니다. 파이썬은 교육용 언어였으나 문법구조상 여러 과학계에 응용되기 쉬워졌고 이에 따라 높은 친화성으로 모듈 생성목적으로 응용되어지며, 또한 무료로 여러 패키지들을 제공하기에 다른 언어들보다 많은 개발자풀을 가지고 있습니다. 수학, 공학, 통계학에서 많이 사용중이며, 자동화, 백엔드, 머신러닝, 게임등에 응용되어 지고있습니다.
2-1. 웹개발
웹 프레임워크 Django, Flask, Pyramid로 웹, 어플 개발하며 웹, 게임, 자동화에 응용합니다.
2-2. 데이터분석
Pandas, NumPy, SciPy
2-3. ML(머신러닝), DL(딥러닝)
TensorFlow, Keras, Scikit-learn, Pytorch 등 프레임워크, 라이브러리로 모델을 개발하고 학습시킵니다.
2-4. 자동화
스크립트 작성(텍스트 마이닝, 데이터 마이닝), 작업 자동화에 활용
2-5. 게임개발
Pygame을 활용하여 간단한 게임제작
2-6. 교육
파이썬의 개발목적은 교육용이며, 현재 학원, 학교에서 파이썬을 교육에 활용합니다.
2-7. 웹 스크래핑
데이터 수집하는데, BeautifulSoup, Scrapy같은 라이브러리를 사용하여 오픈 API나 웹 크롤링에 활용합니다.
2-8. 네트워크
nods.js로 소켓 프로그래밍에 이용합니다.
취업자분들이나 이직하는 분들은 기업에서 사용하는 프로그래밍 언어가 어떤것인지 codenary에서 확인할 수 있습니다.
코드너리(https://www.codenary.co.kr/)
스타트업들의 기술 스택과 기술 블로그를 한눈에 살펴보세요 | 코드너리
네이버, 카카오, 토스, 당근마켓과 같이 요즘 핫한 스타트업은 어떤 기술 스택을 사용하고 있을까요? 코드너리에서 국내 100개가 넘는 스타트업의 기술 정보를 확인하세요.
www.codenary.co.kr
파이썬을 독학하는 분은 다음 사이트를 참고하거나 추천드립니다.
점프투파이썬(https://wikidocs.net/2)
00장 들어가기 전에
점프 투 파이썬이 세상에 나온지 벌써 20년이 지났다. 책을 처음 집필하던 20년 전의 초보 시절의 마음과 지나온 20년 프로그래밍 경험을 잘 조합하면 더 좋은 책을 만들 수…
wikidocs.net
티씨피스쿨(https://www.tcpschool.com/)
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
W3Schools(https://www.w3schools.com/)
W3Schools Online Web Tutorials
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
'Python 기초' 카테고리의 다른 글
파이썬 기초(3)-문자열과 메서드(Method) (0) | 2024.03.12 |
---|---|
파이썬 기초(2)-변수에 관해서 (0) | 2024.03.12 |
파이썬 기초(1)-print()함수과 출력서식 (0) | 2024.03.12 |
윈도우(Windows)에서 파이썬(Python) 설치 (0) | 2024.03.12 |
코랩(Colab) (0) | 2024.03.11 |