예를 들어 클래스는 자동차 설계도 / 객체는 설계도를 기반으로 만들어진 실제 자동차 라고 생각하면 된다.
클래스는 여러 자동차르 만들기 위한 설계도이며 객체는 클래스에서 만든 각 자동차이다.
각 객체는 속성(브랜드, 색상)과 행동(달리기, 멈춤)을 가진다.
# inventory 딕셔너리에 아래 데이터를 추가하라. inventory = {"메로나": [300, 20], "비비빅": [400, 3], "죠스바": [250, 100]} 이름 가격 재고 월드콘 500 7
inventory["월드콘"] = [500, 7]
print(inventory)
# 출력 :
# {'메로나': [300, 20], '비비빅': [400, 3], '죠스바': [250, 100], '월드콘': [500, 7]}
(힌트:딕셔너리 keys() 메서드)
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
key_list = []
for i in icecream.keys() :
key_list.append(i)
print(key_list) # 출력 : ['탱크보이', '폴라포', '빵빠레', '월드콘', '메로나']
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
출력 예시: 6700
sum = 0
for price in icecream.values() :
sum += price
print(sum) # 출력 : 67000
# 아래의 new_product 딕셔너리를 다음 icecream 딕셔너리에 추가하라. icecream = { '탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000 } new_product = {'팥빙수':2700, '아맛나':1000}
icecream.update(new_product)
print(icecream)
# 출력 : {'탱크보이': 1200, '폴라포': 1200,
# '빵빠레': 1800, '월드콘': 1500, '메로나': 1000, '팥빙수': 2700, '아맛나': 1000}
# data에는 매수한 종목들의 OHLC (open/high/low/close) 가격 정보가 바인딩 되어있다. # 수수료를 0.014 %로 가정할 때, # 각 가격에 수수료를 포함한 가격을 한라인에 하나씩 출력하라. data = [ [ 2000, 3050, 2050, 1980], [ 7500, 2050, 2050, 1980], [15450, 15050, 15550, 14900] ] 2000.28 3050.427 2050.2870000000003 ...
for i in range(3) :
for j in data[i] :
print(j * (1 + 0.00014))
난 이렇게↑ 코딩했는데 팀원이 요렇게↓ 했다.
나는 설명도 안 해주고 냅다 더했는데 팀원이 한 게 더 멋있어 보인다.
charge = 0.014 / 100 # 수수료
result = [] # 출력 리스트
for i in range(len(data)):
for j in range(len(data[i])):
value = data[i][j] + (data[i][j] * charge)
result.append(value)
print(value)
for i in range(3) :
for j in data[i] :
print(j * (1 + 0.00014))
print("----")
# ohlc 리스트에는 # 시가(open), 고가 (high), 저가 (low) , 종가(close)가 날짜별로 저장돼 있다. # 화면에 종가데이터를 출력하라. ohlc = [["open", "high", "low", "close"], [100, 110, 70, 100], [200, 210, 180, 190], [300, 310, 300, 310]] 100 190 310
for i in range(1, 4) : # range(0,4)의 경우 "close"까지 출력됨
print(ohlc[i][3])
# 종가가 150원보다 큰경우에만 종가를 출력하라. 190 310
for i in range(1, 4) :
if ohlc[i][3] > 150 :
print(ohlc[i][3])
# 종가가 시가 보다 크거나 같은 경우에만 종가를 출력하라. 100 310
for i in range(1, 4) :
if ohlc[i][3] >= ohlc[i][0] : # 종가 >= 시가 의 경우에만 종가 출력
print(ohlc[i][3])
# 고가와 저가의 차이를 변동폭으로 정의할 때 # 변동폭을 volatility 이름의 리스트에 저장하라. [40, 30, 10]
volatility = []
for i in range(1, 4) :
volatility.append(ohlc[i][1] - ohlc[i][2])
print(volatility)
# 종가가 시가보다 높은 날의 변동성 (고가 - 저가)을 화면에 출력하라. 10
for i in range(1, 4) :
if ohlc[i][3] > ohlc[i][0] :
print(ohlc[i][1] - ohlc[i][2])
items() : 딕셔너리의 key, value값을 튜플 형태로 반환
keys() : 딕셔너리의 key값만 반환
values() : 딕셔너리의 value값만 반환
자꾸 뒤에 s를 빼먹어서 오류가 나는데 조심해야 겠다.
update() : 딕셔너리에 다른 딕셔너리의 내용을 추가하거나 업데이트
딕셔너리는 + 연산이 안됨
get(key) : key에 해당하는 value값을 반환하며 key가 없을 때 기본값을 설정 가능
dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.get('a')) # 출력 : 1
print(dic.get('z', '없음')) # 출력 : '없음'
pop(key) : 해당 key값을 제거하고 반환
clear() : 딕셔너리의 모든 요소를 삭제
del은 딕셔너리 자체를 삭제하지만 clear()은 안에 있는 요소들만 삭제
fromkeys() : 리스트 등을 사용하여 키와 초기값으로 새 딕셔너리를 생성
key_list = ['x', 'y', 'z']
new_dict = dict.fromkeys(key_list, 0)
# dict는 파이썬 내장 클래스
#파이썬에서 기본적으로 제공하는 딕셔너리 생성자
print(new_dict) # 출력 : {'x': 0, 'y': 0, 'z': 0}
딕셔너리는 키 밸루 이다.
딕셔너리는 수정가능 , 순서없음, 중복안됨 이다.
파이썬은 객체 지향 언어이며, 객체지향 언어에서 클래스와 객체는 핵심이다.
클래스와 객체는 항상 배워도 뭔지 잘 모르겠다...
느낌적인 느낌....
설명해보라고 하면 아 그거.. 그거 알지 이런 느낌....
