Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

ksw_devlog

TIL 3주 1일차 본문

TIL

TIL 3주 1일차

kimcoach 2022. 11. 14. 18:45

▶ 파이썬 함수 : 함수는 반복적으로 사용하는 코드들에 이름을 붙여놓은 것

 

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