본문 바로가기

┤내일배움캠프├/PYTHON

파이썬 문법 기초 요약 3(튜플, 집합, f-string, try-except, import, 한줄쓰기 )

728x90

7. 튜플 & 집합

튜플 tuple

불변인 자료형, 순서 존재, 괄호()

a_dict = [('bob','24'),('john','29'),('smith','30')]

 

집합 set

중복 제거(장점), 교집합(&) · 합집합( | ) · 차집합(-) 구하기 가능

# A가 들은 수업 중, B가 듣지 않은 수업 찾아보기

student_a = ['물리2','국어','수학1','음악','화학1','화학2','체육']
student_b = ['물리1','수학1','미술','화학2','체육']

# 집합(set) 생성
a_set = set(student_a)    # 언더바
b_set = set(student_b)    # 언더바


print(a_set-b_set)        # 차집합은 빼주면 됨
#결과
{'국어', '화학1', '물리2', '음악'}

 

8. f-string

print(f'{x}는 {y}이다.')

문제

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']                     # s['']의 꼴
    score = str(s['score'])              # score(숫자형)을 문자형으로 변환(str())
    print(name+'는 '+score+'점 입니다')   # 띄어쓰기 없어야 오류가 안 뜸 = 여러움 
    
    # 그래서 f-string이 더 편함
    print(f'{name}은 {score}점입니다')

#결과(동일)
영수는 70점 입니다
영희는 65점 입니다
기찬는 75점 입니다
희수는 23점 입니다
서경는 99점 입니다
미주는 100점 입니다
병태는 32점 입니다

 

9. 예외처리

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 없음
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:                
    try:
        if person['age'] > 20:
            print (person['name'])
    except:                           # try를 실행하는 도중에 에러가 나면 except를 하라는 뜻
        name = person['name']
        print(f'{name} - 에러입니다')
        
# 결과
carry
ben
bobby - 에러입니다
red
queen

 

10. 파일 불러오기

main_func.py 파일에서 함수를 생성함

def say_hi():

      print('안녕!')

 

main_test.py 폴더에서 작업하다가 위의 함수를 가져오고 싶다면

from main_func import *    (*은 다 가져오는 것, 필요한 함수만 불러서 가져올 수 있음)

say_hi()

 

10. 한 줄 쓰기

if 삼항 연산자

(참일 때 값) if (조건) else (거짓일 때 값)으로 항이 3개라 삼항 연산자

num = 3

if num%2 == 0:

   result = "짝수"

else:

   result = "홀수"

print(f"{num}은 {result}입니다.")

result = "짝수" if num%2 == 0 else "홀수"

print(f"{num}은 {result}입니다.")

#결과: 3은 홀수입니다.

 

for문

a_list = [1, 3, 2, 5, 1, 2]

b_list = []

for a in a_list:

      b_list.append(a*2)

print(b_list)

  

b_list = [a*2 for a in a_list]

print(b_list)

#결과: [2, 6, 4, 10, 2, 4]

728x90

google.com, pub-9332256070510669, DIRECT,f08c47fec0942fa0