본문 바로가기
Tech/etc

[Python] 주식 자동매매 봇 만들기 파이썬 기본문법(변수, 조건문, 반복문)

by 패드로 2020. 8. 20.

파이썬 기본문법

 

1. 변수

 

변수 선언 시 왼쪽이 변수, 오른쪽이 값. 변수 타입은 오른쪽 값에 따라 자동으로 지정

 

ex)

a = 1000 

a는 int형이 되고 1000이라는 값이 들어감

type(a)를 print해보면 int 가 뜸

 

str, float, int 등 존재

 

id(a)를 통해 주소값 접근할 수 있음(쓸데는 있으려나?)

 

2. 문자 관련 함수

 

- 길이구하기

b = "mystring"

len(b) : 길이반환. 이 경우 8

 

- 문자열의 일부만 가져오기

b = "mystring"

b[0:5] : b스트링의 시작,끝위치를 지정하여 나타내줌. 이 경우 "mystr" 출력

b[:5] , b[3:] 이런 식으로 처음, 끝은 생략 가능(자동으로 문장의 처음과 끝을 의미

b[-2:-1] 이런 식으로 문장의 끝에서부터 인덱싱하여 사용 가능. 이 경우 "n" 출력

 

- 긴 문장 잘라쓰기

c = "jaesung, padro, gonr"

c.split(',') : 이 경우 , 단위로 잘라서 ['jaesung', 'padro', 'gonr'] 라는 list 형태로 반환

c.split(',')[0] 이런식으로 접근 가능.(이 경우 "jaesung" 출력)

 

- 문장 합치기

a = "j"

b = "ae"

a + b 하면 "jae"출력

 

3. 조건문/반복문

 

조건문은 크게 다르지 않음. else if만 elif로 줄어들고, 괄호로 조건을 묶을 필요가 없음

(다만 or문을 and문보다 우선순위 높게 계산하는 등의 로직 짤 때 괄호 붙이는건 동일)

|| 와 && 구문이 그냥 or, and라는 문장으로 사용 가능

if => if

elif => else if

else => else

 

a = "jae"

if a == "jae":

    print("jae")

>>> "jae" 출력

 

or

if a == "fff" or a[0:1] == "j":

    print("맞네요")

>>> a의 첫글자가 j가 맞으므로 "맞네요" 출력

 

and

if a == "jae" and len(a) == 3:

    print("성공")

>>> a는 jae고 그 길이는 3이 맞으므로 "성공" 출력

 

in

if a in ["jae", "sung", "gonr"]:

    print("존재")

>>> a의 값("jae")이 해당 리스트 안에 있으므로 "존재" 출력

 

조건문을 여러개 걸어서 너무 길어질 경우 \(역슬래시)를 치고 엔터를 누를 경우 개행에 영향받지 않고 조건문이 이어짐

ex)

if a in ["jae", "sung", "gonr"] \

    a == "jae" and len(a) == 3:

 

for

for i in [1, 2, 3, 4, 5]:

    print(i)

>>> 1 2 3 4 5

 

for i in range(0,10):

    print(i)

>>> 0 1 2 3 4 5 6 7 8 9 

첫 인덱스와 길이 만큼 반복하는 range함수

 

for i in range(0,10):

    if i == 5:

       print(i)

       break

break를 통해 반복문을 빠져나올 수 있음

 

for i, value in enumerate(['kiwoom', 'samsung', 'kakao']):

    print("%s is %s" % (i, value))

>>> 0 kiwoom 1 samsung 2 kakao 출력

enumerate 함수를 통해 해당 item의 i(index)와 value를 같이 받을 수 있음

 

while

cnt = 0

while True:

    if cnt == 100:

        break

    cnt += cnt

print(cnt)

>>> 100 출력

* cnt++는 파이썬에서 작동 안하는것같다

댓글