[230103] 멋쟁이사자처럼 AI SCHOOL 8기 'Python_박두진강사님' 복습

조세연·2023년 1월 3일
0

멋사 AI SCHOOL 8기

목록 보기
6/35

📝Today I learned

🚀 TIL 핵심 요약 🚀

  • 연산자 : 산술, 할당, 비교, 논리, 멤버
  • 조건문 : if
  • 반복문 : while, for, break, continue, enumerate(), zip()

1. 연산자

1) 산술

🔹 산술 연산자 종류

  • + : 덧셈
  • - : 뺄셈
  • * : 곱셈
  • / : 나눗셈
  • // : 나눈 결과의 몫
  • % : 나눈 결과의 나머지
  • ** : 제곱

🔹 산술 연산자 우선순위

  • 1순위: **
  • 2순위: * , /, //, %
  • 3순위: +, -

🔹 데이터 타입에 따라 다르게 수행되는 연산

d1, d2 = 1, 2
d3, d4 = '3', '4'

d1 + d2 # 3
d3 + d4 # 34

🔹 데이터 타입의 형변환
int(), float(), bool(), str(), list(), tuple(), dict(), set()

d1, d2 = 1, 2
d3, d4 = '3', '4'

str(d1) + d3 # '1' + '3' = 13
d2 + int(d4) # 2 + 4 = 6

🍯 리스트를 간편하게 나타내는 방법

list('ABC') # ['A', 'B', 'C']

2) 할당 | 누적해서 산술연산 수행

🔹 할당연산자 (반복문에서 많이 사용)

data = 0
data += 1 # data = data + 1
data # 1

3) 비교 | 데이터 + 데이터 = 논리값

🔹 비교 연산자 종류

  • '==' : 같다
  • '!=' : 다르다
  • '>' : 보다 크다
  • '<' : 보다 작다
  • '>=' : 보다 크거나 같다
  • '<=' : 보다 작거나 같다

🔹 수식의 문법이 틀리면 False, 맞으면 True 반환

4) 논리 | 논리값 + 논리값 = 논리값

🔹 논리 연산자 종류

  • not : 부정
  • and : 둘 다 충족 (두 개의 조건이 모두 True여야 결과값이 True)
  • or : 둘 중 하나라도 충족 (두 개의 조건 중 하나만 True여도 결과값이 True)

🔹 논리 연산자 우선순위

  • 1순위: not
  • 2순위: and
  • 3순위: or
not False # True
not (True and False) # True
False or True # True
(10 > 5) or (10 > 15) # True

5) 멤버 | 컬렉션 데이터에서 특정 데이터의 여부 확인

🔹 멤버 연산자 종류

  • in, not in
data = list('ABC')
'B' in data # True
'D' in data # False
'D' not in data # True

* 멤버 연산자의 결과값은 논리값이다.

🍯 부동소수점 연산 문제 해결법

data1, data2 = 0.1, 0.2
data1 + data2 == 0.3 # False. 딱 0.3으로 떨어지지 않음.

# 해결법1 : 소수점 고정. 연산속도 빠름
round(data1 + data2, 1) == 0.3 # True

# 해결법2 : 연산속도 느림
from decimal import Decimal
float(Decimal(str(data1)) + Decimal(str(data2))) == 0.3 # True

2. 조건문

🔹 if문 : 특정 조건에 따라 코드 실행

money = int(input('당신이 가지고 있는 돈은 얼마입니까? : '))

if money >= 5000:
    print('택시 탄다')
elif money >= 2000:     # 위의 조건이 아닌 경우 실행
    print('버스 탄다')
else:                   # 위의 모든 조건이 아닌 경우 실행
    print('걸어간다')
print('END')

🍯 구글 Colab 들여쓰기 설정 변경 방법
: 우측 상단 톱니바퀴 > 편집기 > 들여쓰기 너비 설정

🍯 bool() 형변환 했을 때 False가 나오는 데이터 모음집

bool(0), bool(0.0), bool(''), bool([]), bool(()), bool({})
# 위 코드는 모두 False이다.

3. 반복문

🔹 반복문 : 특정 코드를 반복적으로 실행. 코드 유지보수 효율 up

🔹 while

count = 5
while count > 0 : # 'while count:'와 똑같음
    print('python')
    count -=1

결과
python
python
python
python
python

🔹 for

for data in [0, 1, 2, 3]:
    print('python', data)

결과
python 0
python 1
python 2
python 3

🔹 break & continue

  • break: 반복되는 코드 중단
  • coninue : 다음의 코드를 실행하지 않고 반복구문의 처음으로 돌아와 코드 실행
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 = ['김씨', '박씨', '이씨']
for user in enumerate(users):
    print(user)

결과
(1, '김씨')
(2, '박씨')
(3, '이씨')

🔹 zip()
: 같은 인덱스의 데이터끼리 튜플로 묶어서 리스트로 출력

users = ['김씨', '이씨', '박씨']
ages = [30, 20, 10]

for data in zip(users, ages):
    print(data)

결과
('김씨', 30)
('이씨', 20)
('박씨', 10)

🍯 for문에서 식별자 _ 의 의미
: 식별자의 중복을 방지하기 위해 사용

for _ in [0, 1, 2]:
    print('jupyter')

❗이것만은 외우고 자자 Top 3

📌리스트를 간편하게 나타내는 방법 -> list('ABC')

📌반복문에서 idx 숫자 필요? enumerate(), 여러 개 리스트 묶어서 출력? zip()

📌식별자 _ 의 의미 -> 식별자의 중복을 방지하기 위해 사용

🌟데일리 피드백

1. 오늘의 칭찬

강사님께서 강의 중간 내주신 예금출금 프로그램을 스스로 해결했다. 강의 내용을 집중해서 차근차근 따라하니 내 손으로 문제를 풀어서 뿌듯했다.
드디어.. 벨로그를 깔끔하게 정리하는 나만의 양식을 만들었다. 시간이 지나도 다시 볼 수 있도록 앞으로 정리를 더 잘해야지.

2. 오늘의 반성

몸 컨디션이 안 좋아서 강의에 온전히 집중하지 못했다. 중간에 까먹고 카메라도 못 켰다.. 다음부턴 좀 더 정신을 단디 차릴 것!

3. 내일의 목표

자기 전 얼른 할 일을 끝내고 일찍 자고 내일 일찍 일어나서 좋은 컨디션으로 회복하기

profile
HR Analyst가 되고 싶은

0개의 댓글