티스토리 뷰
조건문
- if문
if 조건식:
수행문
조건식을 다 적은 후에 콜론(:)을 적어서 조건식이 끝났음을 파이썬 인터프리터에게 알린다.
조건을 만족했을 때 실행할 문장은 if문 다음 라인에 탭 또는 스페이스로 들여 쓰기 후 적는다.
소스코드
bitcoin = 8400000
if bitcoin > 10000000:
print("bitcoin 매수")
- if/else
if 조건:
문장 1
else:
문장 2
조건이 참일 때는 문장1이 수행되고 조건이 거짓일 때는 문장2가 수행된다.
소스코드
bitcoin = 1000
if bitcoin >= 1000:
print("bitcoin 1000 돌파")
else:
print("bitcoin 1000 미만")
- if/elif/else
if 조건 1:
조건 1이 참일 때 수행할 문장
elif 조건 2:
조건 2가 참일 때 수행할 문장
else:
조건 1과 조건 2가 참이 아닐 때 수행할 문장
참인 조건을 만나면 해당되는 코드를 실행하고 비교를 중지한다.
소스코드
ripple = 500
if ripple < 500:
print("리플이 쌉니다.")
elif 500 <= ripple < 1000:
print("리플이 보통이네요.")
else:
print("리플이 비싸네요.")
- 비교 연산자, 논리 연산자
비교 연산자 | 의미 |
== | 같다. |
!= | 같지 않다. |
> | 크다. |
< | 작다. |
>= | 크거나 같다. |
<= | 작거나 같다. |
논리 연산자 | 의미 |
and | 그리고 |
or | 또는 |
not | ~아닌 |
and : 모든 조건이 참이라면 코드가 실행
or : 하나라도 참이면 코드가 실행
not : 조건이 거짓일 때만 실행
소스코드
bitcoin_ma5 = 1900
bitcoin_price = 1935
bitcoin_target = 1937
if (bitcoin_price >= bitcoin_ma5) and (bitcoin_price > bitcoin_target):
print("매수 상승장이고 변동성 돌파 전략 조건 만족")
반복문
- for문
for 변수 in 자료구조:
코드
for문의 끝에 콜론(:)이 있어야 하며, 실행할 코드는 들여 쓰기가 되어 있어야 한다.
소스코드
for value in ["가", "나", "다", "라"]:
print(value)
tickers = ["BTC", "BTG", "BCH", "XRP", "ETH", "DASH"]
for ticker in tickers:
print(ticker)
- for와 range
for 변수 in range(시작 값, 끝 값):
코드
for 변수 in range(시작 값, 끝 값, 오프셋):
코드
소스코드
#for
for num in range(1,10):
print(num)
#for 10~20
for num in range(10, 21):
print(num)
#for 2002 ~ 2050 월드컵 개최 년도
for num in range(2002, 2051, 4):
print(num)
- for와 딕셔너리
cur_price = {"BTC":9010000, "XRP":511, "DASH":360000}
for ticker in cur_price:
print(ticker)
"""
출력 결과
BTC
XRP
DASH
"""
딕셔너리에는 key, value 쌍이 저장되어 있는데 for문을 사용하면 key 값들이 출력된다.
cur_price = {"BTC":9010000, "XRP":511, "DASH":360000}
for ticker, price in cur_price.items():
print(ticker, price)
"""
출력 결과
BTC 9010000
XRP 511
DASH 360000
"""
key와 value에 동시에 접근하려면 다음과 같이 for문에서 두 개의 변수를 사용해서 key, value 값을 바인딩한다.
cur_price = {"BTC":9010000, "XRP":511, "DASH":360000}
for ticker in cur_price:
print(ticker, cur_price[ticker])
"""
출력 결과
BTC 9010000
XRP 511
DASH 360000
"""
key값을 이용해서 value값에 접근하는 방법도 있다.
- while문
while 조건문:
수행문1
수행문2
수행문3
while문은 계속해서 반복적인 작업을 수행해야 하거나 반복할 횟수가 명확하게 정해져 있지 않은 경우에 주로 사용한다.
num = 1
while num < 10:
print(num)
num += 1
num = 1
while True:
if num >= 10:
break
print(num)
num += 1
함수
def name(parameter):
문장1
문장2
return
함수는 자주 사용하는 코드에 대한 이름표라고 할 수 있다.
소스 코드
def hap(a, b):
ret = a + b
return ret
result = hap(3, 4)
print(result)
"""
출력 결과
7
"""
함수가 호출될 때 2개의 값을 입력 받로고 정의했으면 2개의 값을 인자로 주어야 한다.
def print_ohlc(ohlc):
print("시가: ", ohlc[0])
print("고가: ", ohlc[1])
print("저가: ", ohlc[2])
print("종가: ", ohlc[3])
xrp_ohlc = [100, 120, 80, 90]
print_ohlc(xrp_ohlc) #함수 호출
리스트를 함수의 인자받을 수 있다.
모듈
import 모듈
import 모듈 as 새이름
from 모듈 import 함수
from 모듈 import *
모듈을 import 후에 "모듈.함수"로 모듈내의 함수에 접근할 수 있다.
소스코드
import coin
coin.get_open_price()
import coin as newname
newname.get_open_price()
from coin import get_open_price
get_open_price()
from coin import *
get_close_price()
클래스
class MyClass:
def method1(self, parameter):
코드
return
def method2(self, parameter):
코드
return
데이터와 함수를 묶어서 관리할 수 있다.
- self
class 붕어빵틀:
def 팥소넣기(self, 팥소):
self.팥소 = 팥소
붕어빵1 = 붕어빵틀()
붕어빵2 = 붕어빵틀()
#방법1 - 비추천
붕어빵틀.팥소넣기(붕어빵1, "초코맛팥소")
붕어빵틀.팥소넣기(붕어빵2, "딸기맛팥소")
#방법2 - 추천
붕어빵1.팥소넣기("초코맛팥소")
붕어빵2.팥소넣기("딸기맛팥소")
붕어빵에 팥소를 넣는 방법1과 방법2가 있는데
방법1은 어떤 메서드를 어떤 객체에 대해서 호출하는지를 지정하기 위해서 첫 번째 인자로 self 자리에 객체를 넘겨준다.
방법2와 같이 메서드를 호출하면 파이썬 인터프리터가 알아서 방법1과 같은 방식으로 변환해준다.
- 초기화자(initializer)
class 붕어빵틀:
def __init__(self):
self.팥소 = "초코맛팥소"
붕어빵1 = 붕어빵틀()
객체가 생성된 후 자동으로 초기화자(__init__)가 호출된다.
팥소넣기 메서드를 호출하지 않아도 팥소를 객체 생성과 동시에 넣을 수 있다.
- 상속
class Parent:
def sing(self):
print("sing a song")
class LuckyChild(Parent):
def dance(self):
print("shuffle dance")
luckyboy = LuckyChild()
luckyboy.sing()
luckyboy.dance()
"""
출력 결과
sing a song
shuffle dance
"""
LuckyChild 클래스는 sing() 메서드를 가지고 있지 않지만 Parent 클래스로부터 상속받았기 때문에 sing() 메서드를 호출할 수 있다. 그리고 Parent 클래스에서 없던 dance() 메서드를 추가할 수 있다.
참고
'Language > Python' 카테고리의 다른 글
파이썬 문법 - 1 (0) | 2021.02.12 |
---|---|
SimpleHTTPServer 사용하기 (0) | 2021.02.06 |