다음주 수요일까지 비대면 수업, 금요일부터 대면 수업
if 조건문
조건에 따라 코드 실행하거나 실행하지 않게 할 때 사용하는 구문
들여쓰기는 지난 조건이 충족될 때 실행되는 코드를 표현
for 반복문
특정 명령문들의 반복 실행
문자열, 리스트, 딕셔너리 등과 조합하여 for 반복문을 사용
for 반복자 in 반복할 수 있는 것:
명령어(들)
def hello(object):
print("Hello "+object+"!")
hello("cat")
def return_test():
return 100
value = return_test()
print(value)
class Man:
def __init__(self, name): # self는 자기자신.
# 나중에 인스턴스 생성됨. 자기자신의 이름을 대신하는 self라는 일종의 예약어
self.name = name
print("Intilized!")
def hello(self):
print("Hello "+self.name+"!")
def goodbye(self):
print("Good bye "+self.name+"!")
m = Man("David") # m이라는 인스턴스(객체) 생성
m.hello() # m 인스턴스의 hello 메서드 호출
m.goodbye() # m 인스턴스의 goodbye 메서드 호출
넘파이란?
행렬이나 다차원의 배열을 쉽게 처리하도록 지원하는 파이썬 라이브러리
표준 파이썬에는 포함되지 않는 외부 라이브러리
사용하기 위해서는 import 를 사용해 라이브러리를 가져옴.
넘파이 배열 생성하기
넘파이 배열을 만들 때는 np.array() 메서드 이용
np.array()는 파이썬 리스트를 인수로 받아와 넘파이 라이브러리가 제공하는 특수한 형태인
배열(numpy.ndarray)타입을 반환.
넘파이 산술 연산하기
배열의 연산
배열 x와 배열 y의 원소 수가 같아야 함.
다차원 배열
2 x 2라는 a라는 행렬 작성 예시
a= np.array([[1,2],[3,4]])
a.shape
# (2,2)
a.dtype
# dtype('int64')
행렬의 형태는 shape으로 행렬에 담긴 원소에 자료형은 dtype으로 알 수 있다.
import numpy as np
a = np.array([[1,2],[3,4]])
b = 10
print(a * b)
스칼라 값 10이 2 x 2 행렬로 확대된 형태에서 계산됨. => 브로드캐스트(broadcast)
a = np.array([[1,2],[3,4]])
b = np.array([10,20])
print(a*b)
x = np.array([[51, 55],[14, 19], [0, 4]])
print(x)
# [[51 55]
# [14 19],
# [0 4]]
print(x[0])
# array([51, 55])
print(x[0][1])
# 55
for row in x:
print(row)
# [51 55]
# [14 19]
# [0 4]
x = x.flatten()
print(X)
# [55 51 14 19 0 4]
x[np.array([0,2,5])]
#array([51, 14, 4])
import numpy as np
import matplotlib.pyplot as plt
# 데이터 준비
x = np.arange(0, 6, 0.1)
y = np.sin(x)
# 그래프 그리기
plt.plot(x, y)
plt.show()
numpy의 arrange 메서드로 [0, 0.1, 0.2, 0.3, ... 5.8, 5.9]의 배열 데이터 생성해 x에 할당
numpy의 sin 메서드로 [0, 0.1, 0.2, ... , 5.8, 5.9]에 대응하는 sin 함수를 적용해 y에 할당
x와 y를 인수로 사용해 plt.plot 메서드 호출 후 그래프 생성
plt.show()를 호출해 화면에 그래프 출력
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread('python.jpg')
plt.imread(img)
plt.show()