일종의 번역팩을 설치하는 것. 컴퓨터는 1010101101과 같은 언어만 알아듣기 때문에 파이썬 문법으로 된 것들을 위의 숫자들로 변환해줄 수 있도록 번역기를 설치하고 프로그래밍을 쉽게 할 수 있도록 기본 코드(ex. 파이썬 기본 함수)를 설치하는 것.
파이썬은 매우 직관적인 언어이고, 할 수 있는 것도 많음. 모든 문법을 기억하기 쉽지 않으므로 구글링을 생활화(추천 검색어: python 찾고자하는 기능)
Remind:
1. 출력하기
값을 확인하거나 에러를 찾을 때 자주 쓰임. 출력해서 버그찾기(Debugging By Printing) 스킬. Python에서 출력할 때, print('출력할 값')을 사용함
2. 이름짓기(Naming)
담고 있는 데이터, 기능을 잘 나타낼 수 있는 이름으로 지어야 함. 보통 변수는 명사형으로, 함수는 동사형으로 지음
파이썬에서 이름짓기 규칙(naming convention)은 snake style을 사용함(_로 단어를 연결하기) →파이썬 공식 스타일 가이드 참고: (PEP 8 링크 / 파이썬 자습서-코딩 스타일 )
a = 3 #3을 a에 넣는다
print(a)
b = a #a를 b에 넣는다
print(b)
a = a + 1 #a+1을 다시 a에 넣는다
print(a)
num1 = a * b #a*b의 값을 num1이라는 변수에 넣는다
print(num1)
num2 = 99 #99의 값을 num2이라는 변수에 넣는다
print(num2)
name = 'Harry' # 변수에는 문자열이 들어갈 수도 있고,
print(name)
num = 12 # 숫자가 들어갈 수도 있고,
print(num)
number_status = True # True 또는 False -> "Boolean"형이 들어갈 수도 있습니다.
print(number_status)
a_list = [] # 비어있는 리스트 만들기
a_list.append(1) # 리스트에 값을 넣는다
print(a_list)
a_list.append([2, 3]) # 리스트에 [2,3]이라는 리스트를 다시 넣는다
print(a_list)
#print 로 값 확인해보기
#a_list의 값은? [1,[2,3]]
#a_list[0]의 값은? 1
#a_list[1]의 값은? [2,3]
#a_list[1][0]의 값은? 2
a_dict = {} # 비어있는 딕셔너리 만들기
wizard = {'name': 'Harry Potter', 'age': 40}
print(wizard)
wizard['height'] = 173
print(wizard)
#print 로 값 확인해보기
#wizard의 값은? {'name':'Harry Potter','age':40, 'height':173}
#wizard['name']의 값은? 'Harry Potter'
#wizard['age']의 값은? 40
#wizard['height']의 값은? 173
wizards = [{'name': 'Harry Potter', 'age': 40}, {'name': 'Ron Weasley', 'age': 40}]
print(wizards)
print 로 값 확인해보기
wizards[0]['name']의 값은? 'Harry Potter'
wizards[1]['name']의 값은? 'Ron Weasley'
new_wizard = {'name': 'Albus Potter', 'age': 14}
wizards.append(new_wizard)
print(wizards)
# print 로 값 확인해보기
# wizards의 값은? [{'name':'Harry Potter','age':40}, {'name':'Ron Weasley','age':40}, {'name':'Albus Potter','age':14}]
# wizards[2]['name']의 값은? 'Albus Potter
# 리스트 세 번째 항목의 'name'을 불러오는 것
파이썬은 들여쓰기(indent)로 블록 단위를 나눔( * JS는 { }를 사용)
들여쓰기를 잘못하면 indetation Error 발생하므로, 들여쓰기가 매우 중요!
왠지 이건 있을 것 같은 함수다 → 직접 만들지말고 구글 검색
# 만들기
def 함수이름(필요한 변수들) :
내릴 명령어들을 순차적으로 작성
# 사용하기
함수이름(필요한 변수들)
def sum_all(a, b, c):
return a + b + c
def mul(a, b):
return a * b
result = sum_all(1, 2, 3) + mul(10, 10)
# print 로 값 확인해보기
# result라는 변수의 값은?
def is_even(num): # oddeven이라는 이름의 함수를 정의한다. num을 변수로 받는다.
if num % 2 == 0: # num을 2로 나눈 나머지가 0이면
return True # True (참)을 반환한다.
else: # 아니면,
return False # False (거짓)을 반환한다.
result = is_even(20)
# print 로 값 확인해보기
# result의 값은 무엇일까요?
def is_adult(age):
if age >= 20:
print('성인입니다') # 조건이 참이면 성인입니다를 출력
else:
print('청소년이에요') # 조건이 거짓이면 청소년이에요를 출력
# is_adult(30) 하면 무엇이 출력될까요?
# 조건을 여러 개 사용하고 싶을 때
def check_generation(age):
if age > 120:
print('와 19세기에 태어나셨군요!')
elif age >= 80:
print('80세 이상! 인생은 여든부터!')
else:
print('젊으시군요! 장래희망이 뭔가요?')
my_age = 55
check_generation(my_age)
파이썬에서 반복문은 리스트나 문자열의 요소들을 하나씩 꺼내쓰는 형태. 임의의 열(sequence, 리스트나 문자열처럼)의 항목들을 그 순서대로 꺼내어 반복
fruits = ['사과', '배', '감', '귤']
for fruit in fruits: # fruit 은 우리가 임의로 지어준 이름입니다.
print(fruit) # 사과, 배, 감, 귤 하나씩 꺼내어 출력합니다.
fruits = ['사과', '배', '배', '감', '수박', '귤', '딸기', '사과', '배', '수박']
count = 0
for fruit in fruits:
if fruit == '사과':
count += 1
# 사과의 갯수를 출력합니다.
print(count)
fruits = ['사과', '배', '배', '감', '수박', '귤', '딸기', '사과', '배', '수박']
def count_fruits(name):
count = 0
for fruit in fruits:
if fruit == name:
count += 1
return count
subak_count = count_fruits('수박')
print(subak_count) # 수박의 갯수 출력
gam_count = count_fruits('감')
print(gam_count) # 감의 갯수 출력
professor_wizards = [
{'name': '덤블도어', 'age': 116},
{'name': '맥고나걸', 'age': 85},
{'name': '스네이프', 'age': 60},
]
# 이번엔, 반복문과 조건문을 응용한 함수를 만들어봅시다.
# 마법사의 이름을 받으면, age를 리턴해주는 함수
def get_age(name, wizards_class):
for wizard in wizards_class:
if wizard['name'] == name:
return wizard['age']
return '해당하는 이름이 없습니다'
print(get_age('덤블도어', professor_wizards))
print(get_age('맥고나걸', professor_wizards))
파이썬에서 패키지는 모듈(일종의 기능들의 묶음)을 모아놓은 단위. 이런 패키지의 묶음을 라이브러리라고 볼 수 있음. 외부 라이브러리를 사용하기 위해 패키지를 설치. 즉, 패키지 설치 = 외부 라이브러리 설치
같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않으면서, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행환경
서울시 권역별 실시간 대치환경 현황
API 문서 : (링크)
API 요청(request) URL : http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99
import requests # requests 라이브러리 설치 필요
# requests 를 사용해 요청(Request)하기
response_data = requests.get('http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99')
# 응답(response) 데이터인 json을 쉽게 접근할 수 있게 만들어 city_air 에 담고
city_air = response_data.json()
# 값을 출력
print(city_air['RealtimeCityAir']['row'][0]['NO2'])
# 중구는 0번째 튜플이기 때문에 [0]
import requests # requests 라이브러리 설치 필요
response_data = requests.get('http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99')
city_air = response_data.json()
gu_info = city_air['RealtimeCityAir']['row']
for a in gu_info:
print(a['MSRSTE_NM'],a['PM10'] )