euny!
errorlog
euny!
전체 방문자
오늘
어제
  • 분류 전체보기 (22)
    • Python (13)
    • 데이터분석 (3)
    • WIL (4)
    • SQL (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 크롤링
  • ㅗ
  • SQL
  • BeautifulSoup
  • 웹스크래핑
  • 웹크롤링

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
euny!

errorlog

[Python] 기초 문법 - 연산자, 조건문, 반복문
Python

[Python] 기초 문법 - 연산자, 조건문, 반복문

2023. 1. 3. 16:03

연산자

 - 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')
break
- 반복되는 코드를 중단한다.
continue
- 아래에 있는 코드를 실행하지 않고 반복구문의 코드로 올라와서 코드를 실행한다.
range()
- 리스트를 만들어주는 함수
- range(end), range(start, end), range(start, end, stride)
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
    'Python' 카테고리의 다른 글
    • [Python] 네이버 파파고 번역 API 사용하기
    • [Python] 기초 문법 - 함수
    • [Python] 기초 문법 - 변수 선언, 데이터 타입
    • [Python] 다양한 모듈 사용해보기2 : json, googletrans, smtplib (day 3)
    euny!
    euny!

    티스토리툴바