Programming: 프로그램을 만드는 것.
Pro는 '미리', '먼저' + Gram은 '작성된 것' = Program은 '미리 작성된 것', '진행 계획'을 의미한다.
컴퓨터가 이해할 수 있는 값은 오로지 0과 1로 이루어진 이진 숫자(binary digit)이다.
사람이 이해하기 쉬운 언어로 프로그램을 만들기 위한 목적으로 만든 것이 프로그래밍 언어(programming language).
프로그래밍 언어로 작성한 프로그램을 소스코드(source code)라고 한다.
이 때 프로그래밍 언어를 컴퓨터는 이해할 수 없으므로, 프로그래밍 언어를 이진 숫자로 변환해 주는 코드 실행기가 필요하다.
프로그래밍 언어로 작성된 소스 코드 → 이진 코드로 변환해 주는 코드 실행기 → 실행
파이썬은 1991년 귀도 반 로섬(Guido van Rossum)이 발표한 프로그래밍 언어로 1989년 크리스마스가 있던 주에 연구실이 닫혀서 심심하던 차에 만들기 시작했다고 한다. 파이썬이라는 이름은 영국의 6인조 코미디 그룹 '몬티 파이썬'에서 가져왔고, 로고는 Python이라는 영어 단어가 뜻하는 '비단뱀'을 모티프로 만들어졌다.
천재는 역시 다르다.. 몇 번만 더 심심했으면 5차 혁명까지 왔겠다.
파이썬의 장점
- 비전공자도 쉽게 배울 수 있다(C 언어 등에 비해서)...
- 다양한 분야 활용 가능(기본적인 데스크톱 애플리케이션, 웹서버, 해킹도구, IoT, 인공지능)
- 대부분의 운영체제(OS: Operating System)에서 동일하게 사용됨
파이썬의 단점
- 느림. 일반적으로 C언어보다 10~350배 정도 느리다.
프로그래밍 언어는 대부분 '쉽게 사용할 수 있다'라는 성질과 '빠르다'라는 성질이 반비례한다.
나중에는 이런 반비례관계를 해결할 언어가 나오겠지..? 천재가 몇번만 심심하면 나올 수도 있겠다..
파이썬 설치는 공식 홈페이지에서 다운 받을 수 있다.
텍스트 에디터도 필요하다면 다운 받아서 이용하면 된다. 종류가 많다고 한다.
하지만 아나콘다를 설치하고 쥬피터 노트북을 사용할 것이다.
현업에서도 많이 사용한다고 들었다....
파이썬이 비단뱀이라는 뜻이라서 아나콘다가 나왔나보다
설치 후 관습적으로 건네는 인사
print("Hello Python")
Hello Python
자주 나오는 용어들
♧ 표현식(expression): 값(숫자, 수식, 문자열 등)을 만들어 내는 코드
♧ 문장(statement): 표현식이 하나 이상 모인것
♧ 프로그램(program): 문장이 모인 것
+, -와 같은 기호는 단독으로 쓰일 때, 표현식이 아니다. 자체만으로는 어떤 값도 만들어낼 수 없기 때문에 표현식이라고도 할 수 없고 문장이라고도 할 수 없다.
♧ 키워드(keyword): 특별한 의미가 부여된 단어로, 파이썬이 만들어질 때 이미 사용하겠다고 예약해 놓는 것이다. 프로그래밍 언어에서 사용자가 이름을 정할 때 키워드를 사용하면 안되기 때문에 구분할 수 있어야 한다.
import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert',
'async', 'await', 'break', 'class', 'continue', 'def',
'del', 'elif', 'else', 'except', 'finally', 'for', 'from',
'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
import keyword
kwlist = keyword.kwlist
for i in range(0, len(kwlist)):
print('[{:10}]'.format(kwlist[i]), end="")
if (i+1)%5==0: print()
[False ][None ][True ][and ][as ]
[assert ][async ][await ][break ][class ]
[continue ][def ][del ][elif ][else ]
[except ][finally ][for ][from ][global ]
[if ][import ][in ][is ][lambda ]
[nonlocal ][not ][or ][pass ][raise ]
[return ][try ][while ][with ][yield ]
간단하게 바로 나타낼 수도 있고, 아래와 같이 for구문과 if구문을 활용해서 괄호 안에 깔끔히 나타낼 수도 있다.
아래 식의 경우 kwlist라는 이름으로 할당해주고 0부터 kwlist의 길이까지 반복을 해서 출력을 하도록 한 것이다.
{ } 중괄호 안의 경우 format 뒤의 내용이 들어가는데, 반복되는 i가 대괄호 안의 중괄호로 들어가고, 처음부터 열글자까지 출력이 된다. 만약 하나씩 반복하다가 5로 나누었을 때, 나머지가 0이라면 공백을 출력한다.
♧ 식별자(identifier): 프로그래밍 언어에서 이름을붙일 때 사용하는 단어이다. 주로 변수 또는 함수 이름 등으로 사용된다. 식별자는 기본적으로 다음과 같은 규칙을 지켜 만들어야 한다.
- 키워드는 사용하면 안된다.
- 특수 문자는 언더바(_)만 허용된다.
- 숫자로 시작하면 안된다.
- 공백을 포함할 수 없다.
이름을 붙여줄 때 빠르게 이해할 수 있도록 단어 사이에 언더바 기호를 붙여 식별자를 만들거나 단어들의 첫 글자를 대문자로 만들어서 식별자를 사용한다. 언더바를 사용하는 경우를 스네이크 케이스(snake_case), 대문자로 만들어 사용하는 경우 캐멀 케이스(CamelCase)라고 한다. 이름 그대로 뱀과 낙타같다.
대부분의 경우 식별자는 이와 같이 구분된다. 예외도 있다(ex. 클래스 생성자).
😁
출처:
https://www.youtube.com/watch?v=IUXMgyiFBIU&list=PLBXuLgInP-5kr0PclHz1ubNZgESmliuB7
'Data Scientist' 카테고리의 다른 글
파이썬(숫자: 사칙연산, 정수나누기, 나머지, 제곱 연산자) (0) | 2020.03.12 |
---|---|
파이썬(자료형과 문자열: 자료, escape 문자, 문자열(연결/반복/선택[인덱싱, 슬라이싱], 길이) ) (0) | 2020.03.11 |
통계기초(베이지안 통계) (0) | 2020.03.09 |
통계기초(상관관계 ,공분산) (0) | 2020.03.08 |
통계기초(평균의 검정) (0) | 2020.03.06 |