[PYTHON]
[CLASS101 AI자동투자봇 만들기]파이썬 기초문법①
b___gly
2022. 2. 19. 02:06
- 자료형
name = '홍길동'
print("{}님, 안녕하세요!".format(name))
print(f"{name}님, 안녕하세요!")
- 비교연산자
x < y x가 y보다 작으면 True / 작지 않으면 False
x > y x가 y보다 크면 True / 크지 않으면 False
x == y x와 y가 같으면 True / 같지 않으면 False
x != y x와 y가 같지 않으면 True / 같으면 False
x >= y x가 y보다 크거나 같으면 True / 작으면 False
x <= y x가 y보다 작거나 같으면 True / 크면 False
- if, elif, else 조건문
ex3_a = 1
ex3_b = 2
if ex3_a > ex3_b:
print("ex3_a 가 크다")
elif ex3_a < ex3_b:
print("ex3_b 가 크다")
else:
print("ex3_a와 ex3_b는 같다.")
- 논리연산자
and , or , not
x and y: x와 y 모두 참이어야 참
x or y: x와 y 둘 중에 하나만 참이어도 참
not x: x의 반대 값 (x가 참이면 -> 거짓 / 거짓이면 -> 참)
0, None, 비어있는 값을 제외한 모든 값은 True
0, None, 비어있는 값은 False로 해석
** None: 아무것도 없다는 것을 나타내는 자료형
- 클래스와 객체
class Stock: # Stock 이라는 이름을 가진 클래스를 정의
def __init__(self, stock_name, stock_price, stock_rate): # __init__: '생성자'(특별한 함수) 라고 한다. 클래스의 객체를 만들 때 자동으로 실행이 된다.
self.name = stock_name # 인스턴스변수 : self.name, self.price, self.rate를 인스턴스 변수라고 한다.
self.price = stock_price
self.rate = stock_rate
** self ??
- class 안의 함수들은 첫 매개변수(=parameter) 로 self 를 사용
- self는 해당 클래스의 객체 자신.
- 객체를 호출할 때 호출한 객체 자신이 전달되기 때문에 self를 사용한 것
# id() 내장 함수는 객체를 입력값으로 받아서 객체의 고유값(일련번호)을 반환하는 함수//주민번호 같은
# 출력 결과 self의 일련번호와 동일
self는 첫 번째 객체라는 말.
그니까, self가 약간 가이드의 깃발처럼 이 뒤에 정해진 인스턴스들이 오면 된다는 걸 지정해주는 느낌인듯.
self는 어떤 객체를 만드는건지 알려주기 위해 쓰는거다.
객체, 매개변수, 인스턴스 말이 너무 헷갈림.
- 클래스와 메서드
클래스 : 속성(객체) + 기능(메서드)
클래스 안의 클래스
class Test: # Test 이라는 이름을 가진 클래스를 정의
def __init__(self, tx, ty): # 메서드(method = function) : 클래스 내부에 정의 된 함수
self.x = tx # 인스턴스변수 : self.name, self.price, self.rate를 인스턴스 변수라고 한다.
self.y = ty
class Test2:
def __init__(self):
self.item = Test(1, 2)
def print(self):
print(f"self.item.x : {self.item.x}, self.item.y : {self.item.y}")
- 실습
class Stock4 :
def __init__(self, name, close, high, low):
self.name = name
self.close = close
self.high = high
self.low = low
class Calculator2 :
def __init__(self,close,high,low):
self.close, self.high, self.low = close,high,low
def average(self):
return (self.close + self.high + self.low) / 3
item1 = Stock4('삼성전자',67700,69500,67000)
item2 = Stock4('SK텔레콤',232000,235000,229000)
cal1 = Calculator2(item1.close,item1.high,item1.low)
typical_price1 = cal1.average()
print(f"{item1.name}대표값:{typical_price1}")
cal2 = Calculator2(item2.close,item2.high,item2.low)
typical_price2 = cal2.average()
print(f"{item2.name}대표값:{typical_price2}")
인스턴스 맞추는 것에 주의!