Python 기초¶
정말 정말 간단한 최소한의 문법만 다룹니다.
Python 을 이미 알고 계신 분들은 넘어가셔도 좋습니다.
처음 배우시는 분들을 위해, 실습의 시작점이 되기 위하여 필수적인 부분만 가볍게 다뤄보겠습니다.
1. Code & Comment¶
- " # " 은 주석 (Comment) 입니다. 코드로서의 동작은 무시됩니다.
- Jupyter 와 같은 ipynb 의 경우, ! 또는 % 는 Python 코드가 아니라 terminal 에 입력 하는 등의 컴퓨터를 제어하도록 전달합니다.
In [3]:
Copied!
# COMMENT : 주석 입니다.
# pandas 를 설치합니다.
%pip install -U pandas
# Python 코드 입니다.
print("HELLO WORLD!")
# COMMENT : 주석 입니다.
# pandas 를 설치합니다.
%pip install -U pandas
# Python 코드 입니다.
print("HELLO WORLD!")
Requirement already satisfied: pandas in /Users/jonhpark/workspace/courses_archive/mkdocs_venv/lib/python3.12/site-packages (2.2.2)
Collecting pandas
Using cached pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl.metadata (89 kB)
Requirement already satisfied: numpy>=1.26.0 in /Users/jonhpark/workspace/courses_archive/mkdocs_venv/lib/python3.12/site-packages (from pandas) (2.0.1)
Requirement already satisfied: python-dateutil>=2.8.2 in /Users/jonhpark/workspace/courses_archive/mkdocs_venv/lib/python3.12/site-packages (from pandas) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in /Users/jonhpark/workspace/courses_archive/mkdocs_venv/lib/python3.12/site-packages (from pandas) (2024.1)
Requirement already satisfied: tzdata>=2022.7 in /Users/jonhpark/workspace/courses_archive/mkdocs_venv/lib/python3.12/site-packages (from pandas) (2024.1)
Requirement already satisfied: six>=1.5 in /Users/jonhpark/workspace/courses_archive/mkdocs_venv/lib/python3.12/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)
Using cached pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl (11.4 MB)
Installing collected packages: pandas
Attempting uninstall: pandas
Found existing installation: pandas 2.2.2
Uninstalling pandas-2.2.2:
Successfully uninstalled pandas-2.2.2
Successfully installed pandas-2.2.3
[notice] A new release of pip is available: 24.0 -> 24.3.1
[notice] To update, run: pip install --upgrade pip
Note: you may need to restart the kernel to use updated packages.
HELLO WORLD!
2. Python 데이터 타입¶
숫자, 문자, 리스트, 딕셔너리 와 같은 데이터 타입에 대해서 알아봅니다.
2.1. Int, Float, String, Bool¶
정수, 소수, 문자열 모두 데이터 타입입니다.
In [4]:
Copied!
12 * 25
12 * 25
Out[4]:
300
In [5]:
Copied!
str1 = 'happy'
str2 = 'new year!'
str1 + str2
str1 = 'happy'
str2 = 'new year!'
str1 + str2
Out[5]:
'happynew year!'
In [6]:
Copied!
int1 = 10
int1 += 100
int1
int1 = 10
int1 += 100
int1
Out[6]:
110
In [7]:
Copied!
x = 200
y = "2백"
print(f'x는 {x}이고, y는 {y}이다')
x = 200
y = "2백"
print(f'x는 {x}이고, y는 {y}이다')
x는 200이고, y는 2백이다
In [8]:
Copied!
type(x)
type(x)
Out[8]:
int
In [9]:
Copied!
type(y)
type(y)
Out[9]:
str
In [10]:
Copied!
x == y
x == y
Out[10]:
False
In [11]:
Copied!
type(x!=y)
type(x!=y)
Out[11]:
bool
In [12]:
Copied!
from datetime import datetime
with open('log.txt', 'w') as f:
time1 = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(f'{time1} - comments', file=f)
from datetime import datetime
with open('log.txt', 'w') as f:
time1 = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(f'{time1} - comments', file=f)
2.2. List & Dictionary¶
여러 개의 data를 저장하는 List 와 dictionary 를 알아봅시다.
In [13]:
Copied!
stocks = ['Apple', 'NVIDIA', 'Microsoft', 'Google', 'Amazon']
stocks
stocks = ['Apple', 'NVIDIA', 'Microsoft', 'Google', 'Amazon']
stocks
Out[13]:
['Apple', 'NVIDIA', 'Microsoft', 'Google', 'Amazon']
In [14]:
Copied!
prices = [258.2, 140.22, 439.33, "197.57", "이백이십구"]
prices = [258.2, 140.22, 439.33, "197.57", "이백이십구"]
In [15]:
Copied!
type(prices)
type(prices)
Out[15]:
list
In [16]:
Copied!
stocks_with_prices = {'Apple':258.2,
'NVIDIA':140.22,
'Microsoft':439.33,
'Google':"197.57",
"Amazon":"이백이십구"}
stocks_with_prices
stocks_with_prices = {'Apple':258.2,
'NVIDIA':140.22,
'Microsoft':439.33,
'Google':"197.57",
"Amazon":"이백이십구"}
stocks_with_prices
Out[16]:
{'Apple': 258.2,
'NVIDIA': 140.22,
'Microsoft': 439.33,
'Google': '197.57',
'Amazon': '이백이십구'}
In [17]:
Copied!
type(stocks_with_prices)
type(stocks_with_prices)
Out[17]:
dict
2.3. List & Dictionary 활용하기¶
- 인덱싱
- 주요 메소드 활용하기
In [ ]:
Copied!
stocks[2]
stocks[2]
In [ ]:
Copied!
stocks[1:3]
stocks[1:3]
In [ ]:
Copied!
stocks[2] = 'Alphabet'
stocks[2] = 'Alphabet'
In [ ]:
Copied!
stocks.append('Tesla')
stocks.append('Tesla')
In [ ]:
Copied!
stocks_with_prices['Google']
stocks_with_prices['Google']
In [ ]:
Copied!
stocks_with_prices.keys()
stocks_with_prices.keys()
In [ ]:
Copied!
stocks_with_prices.values()
stocks_with_prices.values()
3. IF/ELSE , FOR¶
- 조건문, if/else 를 사용해봅시다.
- 반복문, for loop을 사용해봅시다.
In [ ]:
Copied!
if prices[0] > 100:
print("비싼데?")
if prices[0] > 100:
print("비싼데?")
In [ ]:
Copied!
if prices[0] > 100:
print("비싼데?")
elif prices[0] > 50:
print("살까?")
else:
print("이건 사야해!")
if prices[0] > 100:
print("비싼데?")
elif prices[0] > 50:
print("살까?")
else:
print("이건 사야해!")
In [ ]:
Copied!
for i in range(5):
print(stocks[i])
for i in range(5):
print(stocks[i])
In [ ]:
Copied!
for stock in stocks:
print(stock)
for stock in stocks:
print(stock)
[실습] 종목 이름과 가격을 print 하고, 100달러가 넘으면 비싸다고, 적으면 싸다고 print 해보세요.
type 관련 에러가 발생할 테니, 자유롭게 해결해 보세요.
In [ ]:
Copied!