[수업 목표]
03. 파이썬 시작하기
바탕화면에 sparta 폴더 → pythonprac 폴더 만들기 → pycham 열고 → 파일 → 새프로젝트 → 위치 pythonprac 변경
→ venv python38 웰컴스크립트 생성 체크 해제 확인하기 → 생성
(venv폴더는 보이지만 안 보이는 것처럼 생각하기)
왼쪽 pythonproject 우클릭 → 새로작성 → python파일 →이름 hello → 엔터
print('hello sparta!!') → 컨트로 + S (저장) → 우클릭 실행 → 실행창에 hello sparta!! 라고 나온다
+ python 문법은 JavaScript보다 훨씬 더 직관적이다.
04. 파이썬 기초공부 (변수 자료형 함수 조건문 반복문)
변수 a = 2 b = 3 print(a+b)하고 실행하면 5라고 찍힌다. (let 이런거 필요 없다)
a = 'suya' b ='lee' print(a+b) 하고 실행하면 suyalee라고 찍힌다. (문자 쓸때 ' 빼먹지 말것!)
리스트 a_list = ['사과','배','감'] print(a_list[1]) 배가 찍힌다 (저장하고 실행할 것)
리스트 추가 Javascript는 . push() 였는데 python에서는 .append()이다.
a_list = ['사과','배','감']
a_list.append('수박')
print(a_list) → 실행하면 ['사과', '배', '감', '수박'] 라고 출력된다.
딕셔너리 a_dict = {'name' : 'bob', 'age' : 27} print(a_dict['name]') → bob
함수 def sum(a,b) : (def는 definition 의 약자)
return a + b (파이썬은 직관적이다. 어파치 줄 맞출건데 왜 중괄호 이런 거 하니? 그냥 줄 맞춰)
result = sum(1,2)
print(result)
(1,2를 넣어서 나를 변신 시켜라 (return) 그럼 result 값이 3이되고 print로 3을 출력 시킨다)
def sum (a,b) :
print('더하자!')
return a+b
result = sum(1,2)
print(result)
더하자!
3
조건문 def is_adult (age):
if age > 20:
print('성인입니다')
else:
print('청소년입니다')
is_adult(25) 넣고 실행하면 성입니다.로 뜬다.
(age가 20보다 크면 성인입니다. 아니면 청소년입니다)
:가 나오면 그 다음부터는 Tab한번 한 게 내 내용물입니다.
반복문 (리스트예제 코드스니펫 붙여넣기)
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
for fruit in fruits:
print(fruit) → 실행 사과
배
배
감
수박
귤
딸기
사과
배
수박
(어차피 반복문 다 리스트랑 같이 쓰잖아. rows이런 것 .
파이썬은 애초에 리스트랑 함께 쓰도록 되어 있고 리스트의 요소를 하나씩 꺼내서 내용물에서 쓴다)
반복문 fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
count = 0
for aaa in fruits:
if aaa == '사과':
count += 1
print(count)
(카운트가 0부터 시작한다. 만약 aaa가 사과라면 카운트를 하나 늘려 줘.
for 문이 다 돌고 나면 프린트 카운트 해 줘)
딕셔너리
people = [{'name': 'bob', 'age': 20}, ( people 는 리스트인데 그 안에 딕셔너리가 들어 있다)
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27}]
for ppp in people:
if ppp['age'] > 20:
print(ppp['name'])
실행 → carry
ben 출력 된다.
만약에 age가 20보다 크면 name를 출력해라.
3-5 파이썬 패키지 설치하기
크롤링하려면 남들이 만들어 놓은 라이브러리를 사용해야한다.
파이썬에서는 패키지라고 부른다.
가상환경(virtual environment) → 프로젝트 별로 패키지를 담을 공구함
줄여서 venv → 라이브러리 들이 패키지가 담기는 것이기 때문에 만지면 안됌
파일 → 설정 → 프로젝트 pythonprac의 python 인터프리터 누르기 → + 누르고 requests 적고 → 패키지 설치 누른다.
(Ajax같은 역할을 한다)
3-6 파이선 패키지 사용해보기
requests 써보기 코드스니펫 복사 붙여넣기
http://spartacodingclub.shop/sparta_api/seoulair ← 미세먼지 API
import requests_#requests 라이브러리 설치 필요
(requests라는 라이브러리를 내가 쓸 거야)
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rejson = r.json()
(쓰라는대로 이렇게 썼어)
rows = rjon['RealtimeCityAir'] ['row']
print(rows) → 실행
for row in rows:
print(row) (위에 것 돌리기)
구이름과 미세먼지 수치 찍어주기
for row in rows:
gu_name = row['MSRSTE_NM']
gu_mise = row['IDEX_MVL']
print(gu_name,gu_mise)
→ 실행
60보다 작으면 구이름 찍어주기
for row in rows:
gu_name = row['MSRSTE_NM']
gu_mise = row['IDEX_MVL']
if gu_mise < 60:
print(gu_name)
3-7 웹스크래핑(크롤링)기초
네이버 영화페이지 사이트로 이동
https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829
크롤링을 하려면 2가지 해야 함.
1. 요청해서 html 가져오기 (requests에서 했다)
2. beautifulsoup로 제목을 쉽게 찾을 수 있다. (설치하기)
beautifulsoup 설치하기
파일 → 설정 → pythonprac → python 인터프리터 → +누르고 bs4 치고 → 패키지 설치
크롤링 기본 세팅 코드스니펫 복붙 → print(soup)하고 실행 시키면 html이 들어와 있다.
headers (우리가 코드에서 콜을 날리는데 브라우저에서 콜 날리는 것처러 해주려고 쓴다)
beautifulsoup 사용법
영화이름 우클릭 검사 → 우클릭 copy → copy selector
title = soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(title) → 실행
<a fref = "/movie/bi/mi/basic.naver?code=186114" title="밥정">밥정</a> 이 찍힌다.
title = soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(title.text) → 실행 영화 제목만 나온다. (ex 밥정)
title = soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(title.['href']) → 실행 /movie/bi/mi/basic.naver?code=186114 만 나온다.
[코딩] 1주차 1-1강 ~ 1-16강까지 (tistory.com)
[코딩] 2주차 : jQuery.Ajax 배우기 (tistory.com)
[영어] 가성비 좋아요 영어로? (0) | 2023.03.02 |
---|---|
[코딩] 4주차 Flask 시작 서버 만들기 (3) | 2022.08.28 |
[코딩] 2주차 : jQuery.Ajax 배우기 (0) | 2022.08.14 |
[코딩] 1주차 1-1강 ~ 1-16강까지 (0) | 2022.08.07 |
[유니티] 유니티와 유니티 허브를 설치하고 제페토 프로젝트파일을 등록하는 법 (2) | 2022.07.30 |
댓글 영역