연산자
- CPU를 사용하는 방법
1. 산술연산자 : +, - < *, /, //, % < **
- 데이터(int, str, list) + 데이터 = 데이터
data1, data2 = 14, 4
data1 - data2, data1 // data2, data1 % data2, data2 ** 2, data2 ** 0.5
>> (10, 3, 2, 16, 2.0)
데이터 타입에 따라서 수행되는 연산이 다르다.
d1, d2, d3, d5 = 1, 2, '3', '4'
d1 + d2, d3 + d4
>> (3, '34')
데이터 타입의 형변환 함수
int(), float(), bool(), str(), list(), tuple(), dict()
2. 할당연산자
- 누적해서 산술연산을 수행한다.
- 식별자 <산술>= 데이터
data = 10
#data = data + 5
data += 5
3. 비교연산자: ==, !=, >, <, >=, <=
- 데이터 + 데이터 = 논리값
- 수식의 문법이 틀리면 False, 맞으면 True 출력
d1, d2 = 10, 5
d1 == d2, d1 != d2, d1 > d2
>> (False, True, True)
4. 논리연산자: not > and > or
- 논리값 + 논리값 = 논리값 : 논리값(데이터+데이터) + 논리값(데이터+데이터) = 논리값
- and는 두개의 조건이 모두 True여야 True
- or은 두개의 조건 중 하나만 True여도 True
not False, not (True and False), False or True, (10 > 5) and (10 > 15)
>> (True, True, True, False)
5. 멤버연산자: in, not in
- 특정 데이터가 컬렉션 데이터에 포함되었는지 확인한다.
- 결과를 논리값으로 출력
data = list('ABC')
'B' in data, 'D' in data, 'D' not in data
>> (True, False, True)
* 부동소수점 연산 문제에서 주의할 사항*
data1, data2 = 0.1, 0.2
(data1 + data2) == 0.3
>> False
소수점 아래 숫자때문에 일어나는 현상!
해결방법 1 : 반올림 round() 사용
round(data1 + data2, 1) == 0.3
>> True
해결방법 2 : 고정소수점 연산 사용 - 연산 속도가 느리다.
- 소수에 대해서는 만드시 인자를 string으로 넣어주어야 한다.
from decimal import Decimal
float(Decimal(str(data1)) + Decimal(str(data2))) == 0.3
>> True
삼항 연산자
조건문
- 특정 조건에 따라서 다른 코드를 실행
- if, elif, else
point = int(input("점수를 입력하세요 : "))
if point >= 90:
print('A')
elif point >= 80:
print('B')
elif point >= 70:
print('C')
elif point >= 60:
print('D')
else:
print('F')
>> 점수를 입력하세요 : 87
>> B
bool()을 형변환 했을때 False가 나오는 데이터
bool(0), bool(0.0), bool(''), bool(' '), bool([]), bool(()), bool({})
>> (False, False, False, True, False, False, False)
삼항 연산자 : 간단한 조건문을 한줄의 코드로 작성하는 방법
- <true data> if <condition> else <false data>
if balance >= draw:
print("인출가능")
else:
print("인출불가")
# 위의 조건문을 삼항연산자로 표현
result = "인출가능" if balance >= draw else "인출불가"
반복문
- 특정 코드를 반복적으로 실행하여 코드의 유지보수를 향상시킴
- while, for, break, continue, range(), enumerate(), zip()
while
- 무한루프에 빠지지 않게 조심하여야 한다.
count = 3
while count: # 조건을 확인하는 코드에 True, False가 아니면 bool() 형변환 해서 판단
print('hello')
count -= 1
for
- _ : 식별자로 사용될 때 사용되지 않는 식별자로 사용한다.
for _ in [0, 1, 2]:
print('hello')
for data in range(10): # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
if data % 2: # 홀수 일때 True
continue
if data >= 5:
break
print(data)
>> 0
2
4
enumerate()
- 반복문에서 리스트 데이터에 idx 숫자를 출력할 때 사용한다.
users = ['홍길동(32)', '김파이썬(27)', '정노트북(43)']
for idx, user in enumerate(users):
print(idx, user)
>> [(0, '홍길동(32)'), (1, '김파이썬(27)'), (2, '정노트북(43)')]
zip()
- 같은 인덱스의 데이터끼리 튜플로 묶어서 리스트로 출력한다.
players = ['손흥민', '메시', '호날두']
goals = [30, 20, 10]
games = [50, 30, 40, 20]
# print(list(zip(players, goals)))
for data in zip(players, goals, games):
print(data)
>> ('손흥민', 30, 50)
('메시', 20, 30)
('호날두', 10, 40)
'Python' 카테고리의 다른 글
[Python] 네이버 파파고 번역 API 사용하기 (0) | 2023.01.04 |
---|---|
[Python] 기초 문법 - 함수 (0) | 2023.01.04 |
[Python] 기초 문법 - 변수 선언, 데이터 타입 (0) | 2023.01.02 |
[Python] 다양한 모듈 사용해보기2 : json, googletrans, smtplib (day 3) (0) | 2022.12.23 |
[Python] 다양한 모듈 사용해보기1 : requests, BeautifulSoup, datetime (day 3) (0) | 2022.12.23 |