파이썬 Python 기초

is Yoon·2023년 8월 15일
0

Python

목록 보기
1/17
post-thumbnail

파이썬 (Python)

1991년 프로그래머 '귀도 반 로섬'이 발표한 프로그래밍 언어이자, 컴파일 과정 없이 명령을 내리면 바로 동작하는 인터프리티드 언어 (혹은 스크립트 언어)이다.
파이썬은 동적 타이핑(데이터의 타입을 명시하지 않아도 컴퓨터가 스스로 분석해서 타입에 대한 처리를 하도록 하는 방식), 인터프리터 방식이며, 기본 인코딩은 UTF-8이다.
또한, 무료이면서 배우기 쉽고, 방대한 라이브러리가 있으며 어느 운영체제에서도 사용할 수 있다는 장점이 있다.

  • 데이터를 다루기 위한 NumPy, Pandas 등 라이브러리 제공
  • 데이터를 시각화할 수 있는 Matplotlib, Seaborn 라이브러리 제공
  • 웹 크롤링을 할 때 파싱하기 위한 Beutifulsoup4 라이브러리 제공
  • PyQT, Tkinter 등으로 GUI 앱 개발 가능
  • Django, Flask 프레임워크를 활용하여 웹 서비스 제작 가능
  • SciPy 활용하여 과학기술 계산 및 알고리즘 활용 가능
  • Tenserflow, Keras, PyTorch 활용하여 딥러닝 모델 구현 가능

하지만 아직까지 파이썬보다 다른 언어를 쓰면 좋은 분야가 존재한다.

  • 모바일 어플리케이션 개발 ➡️ React Native, 안드로이드 Java, Kotlin, iOS Swift
  • 시스템 프로그래밍 ➡️ C, 어셈블리어
  • 프론트앤드 ➡️ Javascript, Typescript, React.js, Vue.js, Node.js

Computational Thinking :
분해 ⏩ 패턴 인식 ⏩ 추상화 ⏩ 모델링



개발 환경

  • 코드를 작성할 때나 실행할 때 영향을 주는 요소들
    • Mac, Windows, Linux와 같은 운영체제
    • 텍스트 에디터나 IDE
    • 특정 언어 버전
    • 프레임워크, 라이브러리, 패키지+버전
    • 컴퓨터의 사양
      등등



개발 환경 설치

  1. 아나콘다 다운로드Anaconda Prompt 실행
  2. jupyter 설정 파일 만들기
    1) 설정 파일 생성 : jupyter notebook --generate-config
    2) 디렉토리 설정 : 설정파일에서 notebook_dir 검색 후, '파일 저장 경로' 입력, 앞에 #공백 삭제
  3. 서버 오픈 : 콘솔에서 jupyter lab or jupyter notebook 실행 명령어 입력
  4. cell에 소스코드 입력

주피터 랩

Command mode ⏩ Enter ⏩ Edit mode
Command mode ⏪ Esc ⏪ Edit mode

  • Command mode
    • A - 현재 cell 밑에 새로운 cell 추가
    • B - 현재 cell 위에 새로운 cell 추가
    • D + D - 현재 cell 삭제
    • M은 Markdown, Y는 Code, R은 Raw cell로 변환
    • Ctrl + B - 파일 탐색기 숨기기/보이기
    • Shift + M - 두 개의 cell을 하나의 cell로 합치기
    • Shift + ⬇️ - 현재 cell에서 아래쪽 위치로 새로운 cell을 같이 선택
    • Shift + ⬆️ - 현재 cell에서 위쪽 위치로 새로운 cell을 같이 선택
  • Edit mode
    • Ctrl + / - 선택한 코드 주석 처리
    • Ctrl + Shift + - - 현재 커서 위치를 기준으로 두 개의 셀로 구분하기
    • Ctrl + D - 한 줄 삭제
  • Code cell
    • Ctrl + Enter - 해당 cell 실행
    • Shift + Enter - 해당 cell 실행, 아래에 새로운 cell 생성

주피터 랩 vs 주피터 노트북

  • jupyter notebook - 탐색기와 편집기를 동시에 보기 어렵고, 한 번에 하나의 파일만 열 수 있다.
  • jupyter lab - 다중의 탭으로 여러 파일을 동시에 제어할 수 있고, 탐색기도 동시에 쓸 수 있다.

통합 개발 환경, IDE

Integrated development environment, 텍스트 편집기와 파이썬 개발 환경이 하나의 프로그램에서 동작
아나콘다 배포판에서는 Spyder가 포함되어 있다.


Sell

명령어설명
pwd현재 폴더 경로 출력
ls현재 폴더 내용물 출력
cd <폴더명>다른 폴더로 이동
cd ..상위 폴더로 이동
cp파일을 다른 이름으로 복사
rm파일을 삭제

파일이름 자동완성은 앞 1~2글자만 입력하고 tab키를 누르면 자동 완성되는 기능


Sublime Text

  1. Sublime Text 설치 페이지에서 다운로드
  2. 압축 파일 실행
  3. (MacOS) 'Sublime Text 실행 파일'을 'Applications'에 드래그&드랍
  4. 복사 완료 후 Sublime Text 실행
    4-1. (일반 실행)
    4-2. (관리자 실행/ MacOC) 터미널 > sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl 입력 > subl file_name 으로 실행






파이썬 스타일 가이드 (PEP 8)

PEP 8 스타일 가이드 보러가기

이름 규칙

모든 변수와 함수 이름은 소문자로 쓰고, 여러 단어일 경우 _로 나눠주세요.
모든 상수 이름은 대문자로 쓰고, 여러 단어일 경우 _로 나눠주세요.
의미 있는 이름을 사용해주세요.

화이트 스페이스

들여쓰기는 무조건 스페이스 4개를 사용하세요.
함수 정의 위아래로 빈 줄이 두 개씩 있어야 합니다. 하지만 파일의 첫 줄이 함수 정의인 경우 해당 함수 위에는 빈 줄이 없어도 됩니다.

괄호 안

괄호 바로 안에는 띄어쓰기를 하지 마세요.

함수 괄호

함수를 정의하거나 호출할 때, 함수 이름과 괄호 사이에 띄어쓰기를 하지 마세요.

쉼표

쉼표 앞에는 띄어쓰기를 하지 마세요.

연산자

지정 연산자 = 앞뒤로 띄어쓰기를 하나씩 넣어 주세요.
기본적으로는 연산자 앞뒤로 띄어쓰기를 하나씩 합니다.
하지만 연산의 '우선 순위'를 강조하기 위해서는, 연산자 앞뒤로 띄어쓰기를 붙이는 것을 권장합니다.

코멘트

일반 코드와 같은 줄에 코멘트를 쓸 경우, 코멘트 앞에 띄어쓰기 최소 두 개를 입력해 주세요.






수학 계산

사칙연산, 다양한 표기

사칙연산표시결과값
덧셈+정수 (int)
뺄셈-정수
곱셈*정수
나눗셈/실수 (float)
//정수
나머지%정수
거듭제곱**정수
제곱근**(1/2)실수

표기법표시설명
지수 표기법 ee10 = 10의 10승
e-3 = 10의 -3승
2진법0b(2진수) <-> bin(숫자)
8진법0o(8진수) <-> oct(숫자)
16진법0x(16진수) <-> hex(숫자)10부터는 차례대로 a~로 표기
# base 진법으로 표기된 숫자를 10진법 숫자로 출력하기
num, base = map(int, input().strip().split(' '))

num = str(num)
num2 = 0
for i in range(len(num)) :
    num2 += int(num[i]) * (base**(len(num)-(i+1)))
print(num2)

print(int(str(num),base))



비트 연산자

비교연산자 Comparison operator

비교 연산자의미활용 예활용
==같다a == ba는 b와 같다.
!=같지 않다a != ba는 b와 같지 않다.
<작다a < ba는 b보다 작다.
>크다a > ba는 b보다 크다.
<=작거나 같다a <= ba는 b보다 작거나 같다.
>=크거나 같다a >= ba는 b보다 크거나 같다.

논리연산자 Logical operator

논리 연산자의미활용 예활용
and논리곱a and ba와 b 모두 참일 때만 True, 나머지 False
or논리합a or ba와 b 중 하나라도 참이면 True, 둘 다 거짓이면 False
not논리부정not aa가 참이면 False, 거짓이면 True
  • 숫자 0을 제외한 모든 수 true
  • 빈 문자열, 빈 딕셔너리, 빈 리스트는 false
  • 모든 문자열, 모든 딕셔너리, 모든 리스트 true
  • 아무 값도 없다는 의미인 None false

비트 연산자 이용한 짝수/홀수 구하기

  • 짝수 = 0, 홀수 = 1
  • 짝수 & 짝수 = 0 & 0 = 0
  • 짝수 & 홀수 = 0 & 1 = 0
  • 홀수 & 짝수 = 1 & 0 = 0
  • 홀수 & 홀수 = 1 & 1 = 1
  • 짝수 or 홀수 = 0 or 1 = 1
  • 홀수 or 짝수 = 1 or 0 = 1
if a%2 and b%2 :
	a와 b가 모두 홀수라면 실행 (홀수 % 2 = 1)
elif a%2 or b%2 :
	a나 b가 각각 홀수와 짝수라면 실행
else :
	a와 b가 모두 짝수라면 실행 (짝수 % 2 = 0)

bool 값과 논리연산

  • True일 때 or False일 때

or 연산자는 앞의 값이 True면 앞의 값을 실행하고, 앞의 값이 False이면 뒤의 값을 실행한다.

  • not(계산 값)

계산 값0이면 False, 0 이외의 숫자True를 반환한다.

단락 평가

  • 논리연산에서 코드의 앞만 보고 값을 정할 수 있는 경우 뒤는 보지 않고 값을 결정
  • 복잡한 코드를 단순하게 하는 방식
value = input("입력하기") or "아무것도 입력하지 않을 때"
print(value)
# input에 아무것도 입력하지 않은 경우, 
# input("입력하기")가 공백으로 False가 되므로 or 뒷 문장 실행
# input에 무언가 입력한 경우, 
# input("입력하기")가 True가 되므로 input에 넣은 값 실행




profile
planning design development with data

0개의 댓글