python

[Python]파이썬 시작하기

개발 공주 2023. 5. 18. 23:03
728x90
python

윈도우 다운로드 링크

맥 다운로드 링크

  1. (윈도우만!) Git bash
 

Git

 

git-scm.com

파이썬 기초공부

1) 파이썬 기초 문법

  • 변수 & 기본연산
a = 3      # 3을 a에 넣는다
b = a      # a를 b에 넣는다
a = a + 1  # a+1을 다시 a에 넣는다

num1 = a*b # a*b의 값을 num1이라는 변수에 넣는다
num2 = 99 # 99의 값을 num2이라는 변수에 넣는다

# 변수의 이름은 마음대로 지을 수 있음!
# 진짜 "마음대로" 짓는 게 좋을까? var1, var2 이렇게?
  • 자료형
  • 숫자, 문자형
name = 'bob' # 변수에는 문자열이 들어갈 수도 있고,
num = 12 # 숫자가 들어갈 수도 있고,

is_number = True # True 또는 False -> "Boolean"형이 들어갈 수도 있습니다.

#########
# 그리고 List, Dictionary 도 들어갈 수도 있죠. 그게 뭔지는 아래에서!
  • 리스트형 (javascript의 배열형과 동일)
a=['사과','배','감']
print(a[0]) #사과
  • Dictionary 형 (Javascript의 dictionary형과 동일)
a= {}
a= {'name':'영수','age':24}

# a의 값은? {'name':'영수','age':24}
# a['name']의 값은? '영수'
  • 함수
    • 함수의 정의 이름은 마음대로 정해도 괜찮
# 수학문제에서
f(x) = 2*x+3
y = f(2)
y의 값은? 7

# 참고: 자바스크립트에서는
function f(x) {
	return 2*x+3
}

# 파이썬에서
def f(x):
	return 2*x+3

y = f(2)
y의 값은? 7
  • 함수의 응용
def hey():
	print("헤이")

#파이썬에서 함수 생성시, 들여쓰기는 중요해요!

hey() #헤이

def sum(a,b,c):
	return a+b+c

result = sum(1,2,3)
print(result) #6
  • 조건문
age = 25

if age > 20:
	print("성인입니다")
else:
	print("청소년입니다")
  • 반복문
    • 파이썬 에서의 반복문은, 리스트의 요소들을 하나씩 꺼내쓰는 형태입니다.
fruits = ['사과','배','감','귤']

for fruit in fruits:
	print(fruit)

# 사과, 배, 감, 귤 하나씩 꺼내어 찍힙니다.

ages =[5,10,13,23,25,9]

for a in ages:
	if a>20:
		print("성인입니다")
	else:
		print("청소년입니다")

 

python 패키지 설치

1) 가상환경 venv - 패키지를 담아두는 공구함!

문제상황:
회사에서는 패키지 A, B, C를 설치해서 쓰고, 개인 프로젝트에서는 패키지 B, C, D, E를 설치해서 쓰고 있었어요. 그런데 회사팀장님이 B를 이전 버전인 B'로 쓰자고 하시네요. 그렇게 되면, 같은 컴퓨터에 깔려 있는 개인 프로젝트에서는 B'
로 쓰면 코드를 다 바꿔야 해요

어떻게 하면 좋을까?
해결책:
다 담아둘 필요 없이 공구함을 2개 만들어서, 공구함 1에 A, B', C를 담아두고, 공구함 2에 B, C, D, E를 담아두고 쓰면 관리하기 편하겠죠? 그래서, 가상환경이라는 개념이 등장했습니다. 즉,
프로젝트별 공구함
이에요.
정리하자면, 가상환경(virtual environment)은 같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경입니다.

2) venv 생성하기

python(맥은 python3) -m venv venv 를 입력한 뒤 엔터!

3) venv 활성화하기

./venv/Scripts/activate 를 입력한 뒤 엔터!

터미널에서 (venv) 라고 뜨게 된다면 가상환경이 활성화 된것

 

4) 파이썬 패키지(package) 설치하기

패키지 설치 = 외부 라이브러리 설치!

Python 에서 패키지는 모듈(일종의 기능들 묶음)을 모아 놓은 단위이다.

앱을 설치할 때 앱스토어/플레이스토어를 가듯이, 새로운 프로젝트의 라이브러리를 가상환경(공구함)에 설치하려면 pip 를 이용하게 됩니다.
pip install requests

#requests 라는 라이브러리를 설치

패키지 사용해보기

1) Requests 라이브러리 사용해보기 + List/Dictionary/함수/If/For문 연습

아래 방법으로 서울시 대기 OpenAPI에서, 중구의 미세먼지 값을 가져올 수 있다.

import requests # requests 라이브러리 설치 필요

r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()

print(rjson)

for a in rows:
	gu_name = a['MSRSTE_NM']
	gu_mise = a['IDEX_MVL']
	print(gu_name, gu_mise)

 

웹스크래핑(크롤링) 기초

크롤링 기본 세팅

  • 우선 beautifulsoup4 라이브러리가 필요하다.
pip install bs4

# HTML 및 XML 파일에서 데이터를 추출하는 라이브러리
import requests
from bs4 import BeautifulSoup

URL = "https://movie.daum.net/ranking/reservation" #크롤링 할 페이지
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(URL, headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
#-------------------------------------여기까지 기본세팅

video_list = soup.select("#mainContent > div > div.box_ranking > ol > li")
for v in video_list:
  # print(v)
  rank = v.select_one(".rank_num").text
  title = v.select_one(".tit_item").text.strip("\n") #strip() 문자열 및 공백 지우기
  rate = v.select_one(".txt_grade").text
  print(rank, title, rate)

'python' 카테고리의 다른 글

[Python]파이썬에서 mongoDB 연결 및 조작  (0) 2023.05.18