TIL - 22.04.26 python 심화 문법01

개발자 macan·2022년 4월 26일
0

개발 - 공부

목록 보기
7/28

심화 문법

튜플

  • 튜플은 리스트와 비슷하지만 불변이다! 따라서 순서가 존재한다.

    불변이기 때문에 다음과 같은 작업이 불가능하다.

a = (1,2,3)
a[0] = 99
#0 자리의 숫자를 99로 변경하고자 했지만 실패
  • 튜플은 딕셔너리 대신 리스트와 튜플로 딕셔너리 '비슷하게'만들어 사용할때 많이 사용한다!
a_dict = [('bob','24'),('john','29'),('smith','30')]

집합(set)

  • 집합은 중복이 제거된다. + 교집합(집합 & 집합) / 합집합(집합 | 집합) / 차집합(집합 - 집합)도
    구할 수 있다.

f-string

- 기존 코드 ``` for s in scores: name = s['name'] score = s['score'] print(name +'의 점수는 ' +str(score)+'점입니다.') # name 은 문자열, score는 숫자형이기에 str()을 통해 문자열로 바꿔주어야 한다. ```
  • f-string 적용 코드
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'},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    if person['age'] > 20:
        print (person['name'])
# bobby의 age 가 없어서 이대로 실행하면 에러가 뜬다        

하지만 여기서 try - except를 적용하면 해결이 된다.

for person in people:
    try:
        if person['age'] > 20:
            print (person['name'])
    except:
        name = person['name']
        print(f'{name} - 에러입니다')
# bobby에 에러를 표시해준다.        
profile
개발자로 첫걸음

0개의 댓글