식별자 n개, 데이터 n개 : tuple
tuple 데이터 타입은 여러개의 식별자로 받을수 있다.
튜플은 소괄호 생략 가능
data = 1, 2
print(type(data), data)
d1, d2 = data
print(d1, d2) 입력하세요
엑셀 : 사용 간편 : 데이터 100만개 : 만들어진 기능만 사용가능 : 속도 느림
파이썬 : 파이썬문법 : 데이터 RAM 용량만큼 : 기능을 만들어서 사용가능 : 속도 빠름
파이썬 : 가상메모리 : DASK
데이터베이스 : SQL문법 : 데이터 SSD(HDD) 용량만큼 : 속도 빠름
빅데이터 : 여러개의 컴퓨터를 1대의 컴퓨터처럼 사용 : SPARK : scala, python
산술 : +, - < *, /, //, % < ** : 데이터(int,str,list) + 데이터 = 데이터
할당 : 식별자 <산술>= 데이터
비교 : ==, !=, >, <, >=, <= : 데이터 + 데이터 = 논리값
논리 : not, and, or : 논리값 + 논리값 = 논리값
멤버 : 특정 데이터가 컬렉션 데이터에 포함되었는지 확인 : 결과 논리값 출력
논리값 + 논리값 = 논리값 : 논리값(데이터+데이터) + 논리값(데이터+데이터) = 논리값
비교연산자 : 조건1개, 논리연산자 : 조건2개이상
not, and(T: T and T = T), or(F: F or F = F)
and 는 두개의 조건이 모두 True이여야 True
or 는 두개의 조건중 하나만 True이여도 True
not False, not (True and False), False or True, (10 > 5) or (10 > 15)
산술 : +, - < *, /, //, % < ** : 데이터 + 데이터 = 데이터 : 데이터타입에 따라 다르게 연산수행
할당 : 식별자 <산술>= 데이터
비교 : ==, !=, >, <, >=, <= : 데이터 + 데이터 = 논리값 : 조건1개
논리 : not > and > or : 논리값 + 논리값 = 논리값 : 조건2개 이상
멤버 : in, not in : 컬렉션 데이터에서 특정 데이터가 있는 확인 : 결과 논리값
data1, data2 = 0.1, 0.2
(data1 + data2) == 0.3
False 결과값으로 나온다 이유는 컴퓨터 이진법에 있다. 이걸 정확하게보면 3.0000000004~~가 나온다 이진법으로 오류가 생길수 있다.
print(round(data1 + data2, 1))
round(data1 + data2, 1) == 0.3
0.3 True
from decimal import Decimal
print(float(Decimal(str(data1)) + Decimal(str(data2))))
float(Decimal(str(data1)) + Decimal(str(data2))) == 0.3
특정 조건에 따라서 다른 코드를 실행
if, elif, else
조건문을 이용한 점수표 출력
# 점수를 입력받아 학점을 출력하는 코드 작성
# 90 >= A, 80 >= B, 70 >= C, 60 >= D, F
point = 87
if point >= 90:
print('A')
elif point >= 80:
print('B')
elif point >= 70:
print('C')
elif point >= 60:
print('D')
else:
print('F')
조건문을 이용한 ATM
# 1. 계좌생성 : account : 10000
account = 10000
# 2. 입금, 출금 입력 : 입금(0), 출금(1) : command 변수에 저장
command = int(input('입금(0), 출금(1)을 입력하세요 : '))
# 3. 금액입력 : money 변수에 저장
money = int(input('금액을 입력하세요 : '))
# 4. 입금인 경우
if command == 0:
# 4-1. 입력받은 금액을 계좌에 추가
account += money
# 5. 출금인 경우
else:
# 5-1. 잔액이 부족한 경우 : 'xx의 잔액이 부족합니다.' 출력
if account < money:
print(f'{money - account}의 잔액이 부족합니다.')
# 5-2. 잔액이 충분한 경우 : 'xx의 잔액이 출금되었습니다.' 출력
else:
account -= money
print(f'{money}의 잔액이 출금되었습니다.')
# 6. 계좌 잔액 출력 : 'xx의 잔액이 남았습니다.' 출력
print(f'{account}의 잔액이 남았습니다.')
balance, draw = 10000, 12000
if balance >= draw:
print("인출가능")
else:
print("인출불가")
이 코드를 삼항연사자로 활용해보자
balance, draw = 10000, 2000
result = "인출가능" if balance >= draw else "인출불가"
result
이렇게 바꿀 수있다. 확실히 줄어들었다. 파이썬은 인터프리티 언어라 연산시간이 줄어들었을 것 같다.
특정 코드를 반복적으로 실행 > 코드 유지보수 향상
while, for, break, continue, range(), enumerate(), zip()
# while
count = 3
while count > 0:
print('python')
count -= 1
for _ in range(3):
print('jupyter')
# 30세 이상의 사용자 목록 출력
users = ['홍길동(32)', '김파이썬(27)', '정노트북(43)']
for user in users:
# print(user, int(user[-3:-1]))
if int(user[-3:-1]) >= 30:
print(user)
# enumerate() : 반복문에서 리스트 데이터에 idx 숫자를 출력할때 사용
# user_id와 user를 출력 코드작성
users = ['홍길동(32)', '김파이썬(27)', '정노트북(43)']
idx = 0
for user in users:
print(idx, user)
idx += 1
위에서 설명한 enumerate()를 사용하면
이런식으로 나온다.
for문과 같이 활용해보면
이런식으로 결과값을 나타 낼 수 있다.
※오늘의 평
강의를 듣다보면 강사님이 현업과 경험들을 짤막하게 말해주시는데 들으면 백엔드와 서버(리눅스)도 공부를 해야겠다는 생각이 든다. 아닌가...