파이썬 기초
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 이렇게?
2) 리스트, 딕셔너리 형
⇒ 리스트 형 : 순서가 중요!
a_list = ['사과','배','감','수박']
a_list[0]
a_list.append('귤')
a_list[4]
Dictionary 형 : { key : value } 형태가 중요!
a_dict = {'name':'bob','age':21}
a_dict['age']
a_dict['height'] = 178
a_dict
Dictionary 형과 List 형의 조합
people = [{'name':'bob','age':20},{'name':'carry','age':38}]
# people[0]['name']의 값은? 'bob'
# people[1]['name']의 값은? 'carry'
person = {'name':'john','age':7}
people.append(person)
# people의 값은? [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}]
# people[2]['name']의 값은? 'john'
3) 함수
⇒ 수학에서의 함수와 살짝 다르답니다!
# 수학문제에서
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 sum(a,b):
return a+b
def mul(a,b):
return a*b
result = sum(1,2) + mul(10,10)
# result라는 변수의 값은?
4) 조건문
if age > 20:
print('성인입니다') # 조건이 참이면 성인입니다를 출력
else:
print('청소년이에요') # 조건이 거짓이면 청소년이에요를 출력
is_adult(30)
5) 반복문
ages = [20,30,15,5,10]
for age in ages:
print(age)
###
for age in ages:
if age > 20:
print('성인입니다')
else:
print('청소년이에요')
조건문 + 함수 + 반복문을 한번에 사용해보기
def check_adult(age):
if age > 20:
print('성인입니다')
else:
print('청소년이에요')
ages = [20,30,15,5,10]
for age in ages:
check_adult(age)
업무자동화 - 스크래핑 실습
라이브러리 설치하기
pip install bs4 requests
웹스크래핑 해보기
크롤링 기본 코드
import requests
from bs4 import BeautifulSoup
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('https://search.naver.com/search.naver?where=news&ie=utf8&sm=nws_hty&query=삼성전자',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
업무자동화 - 엑셀다루기
openpyxl 라이브러리 설치하기
pip install openpyxl
엑셀 파일 만들어보기 - openpyxl 기본코드
from openpyxl import Workbook
wb= Workbook()
sheet = wb.active
sheet['A1'] = '안녕하세요!'
wb.save("샘플파일.xlsx")
wb.close()
엑셀 읽기
import openpyxl
wb = openpyxl.load_workbook('샘플파일.xlsx')
sheet = wb['Sheet']
sheet['A1'].value
엑셀 전체 데이터를 읽기
import openpyxl
wb = openpyxl.load_workbook('샘플파일.xlsx')
sheet = wb['Sheet']
for row in sheet.rows:
print(row[0].value, row[1].value, row[2].value)
엑셀 첫줄 빼기
import openpyxl
wb = openpyxl.load_workbook('샘플파일.xlsx')
sheet = wb['Sheet']
new_rows = list(sheet.rows)[1:]
for row in new_rows:
print(row[0].value, row[1].value, row[2].value)