<jupyter_start><jupyter_text>CH01. Hello Pythonz  1.3 파이썬 인터프리터<jupyter_code>!python --version
!python
1+2<jupyter_output><empty_output><jupyter_text>1.3.1 산술연산<jupyter_code>1-2
4*5
7/5
3**2<jupyter_output><empty_output><jupyter_text>1.3.2 자료형<jupyter_code>type(10)
type(2.718)
type('hello')<jupyter_output><empty_output><jupyter_text>1.3.3 변수<jupyter_code>x=10
print(x)
x=100
print(x)
y=3.14
x+y
# 동적언어의 특징
type(x), type(y), type(x*y)<jupyter_output><empty_output><jupyter_text>1.3.4 리스트<jupyter_code>a=[1, 2, 3, 4, 5]
a
len(a)  #리스트 길이
a[0]
a[4]
a[4]=99
a
a[0:2] #인덱스 0부터 인덱스 2 앞까지
a[1:] #인덱스 1부터 끝까지
a[:3] #인덱스 처음부터 인덱스 3 앞까지
a[:-1] # 처음부터 마지막 인덱스의 -1까지 출력, 마지막 인덱스는 4, 인덱스 3까지 출력
a[:-2] # 처음부터 마지믹 인덱스의 -2까지 출력, 마지막 인덱스느 4, 인덱스 2까지 출력<jupyter_output><empty_output><jupyter_text>1.3.5 딕셔너리 - key-value 자료구주<jupyter_code>me = {'height':100}
me['height']
me['weight']=100 #새로운 Attribute 추가
me<jupyter_output><empty_output><jupyter_text>1.3.6 Bool<jupyter_code>hungry=True
sleepy=False
type(hungry)
not hungry #not 연산자
hungry and sleepy #and 연산자
hungry or sleepy #or 연산자<jupyter_output><empty_output><jupyter_text>1.3.7 if 문<jupyter_code>hungry = True
if hungry:
    print("졸라 배고파요")
hungry = not hungry
if hungry:
    print("졸라 배고파요")
else:
    print("졸라 배불러요")
    print("졸립다")<jupyter_output>졸라 배불러요
졸립다<jupyter_text>1.3.8 for 문<jupyter_code>for i in [1,2, 3, 4]:
    print(i)<jupyter_output>1
2
3
4<jupyter_text>1.3.9 함수<jupyter_code>def hello():
    print("hello world!")
hello
hello()
# 인주 전달
def hello(object):
    print("Hello "+object+"!")
hello("cat")<jupyter_output>Hello cat!<jupyter_text>파이썬 스크립트 파일  1.4.2 클래스<jupyter_code>class Man:
    def __init__(self, name):
        self.name = name
        print("초기화 완료!!!")
        
    def hello(self):
        print("안녕하세요! "+self.name+"입니다.")
        
    def goodbye(self):
        print("Good-bye "+self.name+"!")
m = Man("David")
m.hello()
m.goodbye()<jupyter_output>Good-bye David!<jupyter_text>1.5 NumPy  1.5.1 넘파이 가져오기<jupyter_code>import numpy as np
np.__version__<jupyter_output><empty_output><jupyter_text>1.5.2 넘파이 배열 생성하기<jupyter_code>x=np.array([1.0, 2.0, 3.0])
print(x)
type(x)<jupyter_output><empty_output><jupyter_text>1.5.3 넘파이 산술 연산<jupyter_code>x = np.array([1.0, 2.0, 3.0])
y = np.array([2.0, 4.0, 6.0])
x+y
x-y
x*y
x/y
x/2.0 #broadcast<jupyter_output><empty_output><jupyter_text>1.5.4 넘파이 N차원 배열<jupyter_code>A = np.array([[1, 2], [3, 4]])
print(A)
A.shape
A.dtype
B = np.array([[3, 0],[0, 6]])
A + B
A * B
A * 10<jupyter_output><empty_output><jupyter_text>- 1차원 배열: 벡터- 2차원 배열: 행렬- 3차원 배열: 텐서  1.5.5 브로드캐스트<jupyter_code>A = np.array([[1, 2], [3, 4]])
B = np.array([10, 20])
A*B<jupyter_output><empty_output><jupyter_text>1.5.6 원소 접근<jupyter_code>X = np.array([[51, 55], [14, 19], [0, 4]])
print(X)
X[0]
X[0][1]
for row in X:
    print(row)
X = X.flatten()
X
X[np.array([0, 2, 4])] #여러개 인덱스 접근, np.array 배열로 접근
X>15
X[X>15] #True인 인덱스 조회<jupyter_output><empty_output><jupyter_text>1.6 Matplotlib  1.6.1 단순한 그래프 그리기<jupyter_code>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()<jupyter_output><empty_output><jupyter_text>1.6.2 pyplot 기능<jupyter_code>import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 6, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin')
plt.plot(x, y2, linestyle='--', label='cos')
plt.xlabel("x")
plt.ylabel('y')
plt.title('sin & cos')
plt.legend()
plt.show()<jupyter_output><empty_output><jupyter_text>1.6.3 이미지 표시하기<jupyter_code>!wget https://cfis.github.io/free-image-ruby/cookbook/lena.png
!ls
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread("./lena.png")
plt.imshow(img)
plt.show()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.18128342245989304, 'fraction_numerical': 0.05401069518716577, 'mean_word_length': 5.224625623960066, 'pattern_counts': {'":': 0, '<': 77, '<?xml version=': 0, '>': 79, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '20', 'dir': 'jupyter-structured-clean-dedup', 'id': '432675', 'license': 'Apache-2.0', 'n_tokens_mistral': 2176, 'n_tokens_neox': 2334, 'n_words': 345, 'path': 'DP-TFT-S02/DL-From-Scratch/DLFromScratch-01.ipynb', 'repo_name': 'taewanme/DPTFT-DIL', 'size': '3740'}