ksw_devlog
TIL 3주 1일차 본문
▶ 파이썬 함수 : 함수는 반복적으로 사용하는 코드들에 이름을 붙여놓은 것
def hello():
print("안녕!")
print("또 만나요!")
hello()
hello()
---------------------------------
def bus_rate(age):
if age > 65:
print("무료로 이용하세요")
elif age > 20:
print("성인입니다.")
else:
print("청소년입니다")
bus_rate(27)
bus_rate(10)
bus_rate(72)
------------------------------
def bus_fee(age):
if age > 65:
return 0
elif age > 20:
return 1200
else:
return 0
money = bus_fee(28)
print(money)
[튜플, 집합]
튜플 (tuple) : 튜플은 리스트와 비슷하지만 불변인 자료형 입니다. 마찬가지로 순서가 존재하죠!
a = (1,2,3)
print(a[0])
언제 주로 사용하냐면요, 아래와 같이, 딕셔너리 대신 리스트와 튜플로 딕셔너리 '비슷하게' 만들어 사용해야 할 때 많이 쓰입니다!
a_dict = [('bob','24'),('john','29'),('smith','30')]
집합 (set) : 집합은 말 그대로 집합을 구현하는 방법. 중복이 제거
a = [1,2,3,4,5,3,4,2,1,2,4,2,3,1,4,1,5,1]
a_set = set(a)
print(a_set)
-----------------------
a = ['사과','감','수박','참외','딸기']
b = ['사과','멜론','청포도','토마토','참외']
print(a & b) # 교집합
print(a | b) # 합집합
[f-string] -> 변수로 더 직관적인 문자열 만들기
scores = [
{'name':'영수','score':70},
{'name':'영희','score':65},
{'name':'기찬','score':75},
{'name':'희수','score':23},
{'name':'서경','score':99},
{'name':'미주','score':100},
{'name':'병태','score':32}
]
for s in scores:
name = s['name']
score = str(s['score'])
print(name,score)
->
for s in scores:
name = s['name']
score = str(s['score'])
print(name+'는 '+score+'점 입니다')
->
for s in scores:
name = s['name']
score = str(s['score'])
print(f'{name}은 {score}점입니다') ----> f-string
[예외 처리 : try - except 문]
에러가 있어도 건너뛰게 할 수 있는 방법
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby', 'age': 57},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people:
if person['age'] > 20:
print (person['name'])
그런데 만약, bobby가 age를 갖고 있지 않다면? - 데이터 하나가 잘못 들어간거죠!
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby'},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people:
if person['age'] > 20:
print (person['name'])
그 때 아래와 같이 try except 구문을 이용하면 에러를 넘길 수 있답니다.
for person in people:
try:
if person['age'] > 20:
print (person['name'])
except:
name = person['name']
print(f'{name} - 에러입니다')
[파일 불러오기]
main_test.py
----------------------
from main_func import *
say_hi()
----------------------
main_func.py
-----------------
def say_hi():
print('안녕!')
[한 줄의 마법]
if문 - 삼항연산자
num = 3
if num%2 == 0:
result = "짝수"
else:
result = "홀수"
print(f"{num}은 {result}입니다.")
이것을 한 줄에 적는 것이 파이썬의 유일한 삼항연산자인 조건식입니다.
num = 3
result = "짝수" if num%2 == 0 else "홀수"
print(f"{num}은 {result}입니다.")
-----------------------------------------
for문 - 한방에 써버리기
a_list = [1, 3, 2, 5, 1, 2]
b_list = []
for a in a_list:
b_list.append(a*2)
print(b_list)
------------
a_list = [1, 3, 2, 5, 1, 2]
b_list = [a*2 for a in a_list]
print(b_list)
'TIL' 카테고리의 다른 글
TIL 3주 3일차 (0) | 2022.11.16 |
---|---|
TIL 3주 2일차 (0) | 2022.11.15 |
WIL 2주차 (0) | 2022.11.14 |
TIL 2주 5일차 (0) | 2022.11.11 |
TIL 2주 4일차 (0) | 2022.11.10 |