목표
파이썬 기초 중 조금 더 심화 된 내용 공부하기
참고자료
내용
약간 심화 문법!!
tuple(튜플)
:리스트와 비슷하지만 불변인 자료형
- 순서가 존재함
- ()괄호로 닫음
- 불변형(추가, 변경 다 금지)
a = ('사과','감','배') a[1] = '수박' print(a[1])
결과: TypeError: 'tuple' object does not support item assignment (불변형이라 값을 바꾸려고하면 에러가 뜸)
set(집합)
:집합!
- 중복이 제거됨
a = [1,5,3,8,4,5,8,4,3,8,4,6,2] a_set = set(a) print(a_set)
결과: {1, 2, 3, 4, 5, 6, 8}
- 교집합/합집합/차집합도 구할 수 있음
a = ['포도','사과','감','배','수박'] b = ['포도','참외','감','귤','수박'] a_set = set(a) b_set = set(b) 1) print(a_set & b_set) #교집합 2) print(a_set | b_set) #합집합 3) print(a_set - b_set) #차집합(a한텐 있는데 b한텐 없는 것들 a-b)
결과: 1) {'수박', '포도', '감'} 2) {'수박', '포도', '참외', '배', '사과', '귤', '감'} 3) {'배', '사과'}
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 = s['score']
print(name+'의 점수는 '+str(score)+'점입니다.') #score는 숫자라 문자로 바꿔주어야함
print(f'{name}의 점수는 {score}점입니다.') #-fstring 형식
결과:
영수의 점수는 70점입니다.
영희의 점수는 65점입니다.
기찬의 점수는 75점입니다.
희수의 점수는 23점입니다.
서경의 점수는 99점입니다.
미주의 점수는 100점입니다.
병태의 점수는 32점입니다.
예외처리 try-except문
:에러가 있어도 건너뛰게 할 수 있는 방법
for person in people:
try: #얘를 시도해서 에러가나면
if person['age'] > 20:
print(person['name'])
except: #대신 얘를 실행하라
print(person['name'], '에러입니다') #name을 출력하여 어디서 에러가 난건지 확인 용이
- 서버에 콜을 하는 경우, 서버가 잘못되어 에러가 발생되었을 수 있는 가능성에 많이 사용
- 그러나 남용하면 무슨 에러인지 찾기가 어려워지므로 안쓰는걸 권장
파일불러오기
:여러개 파일로 분리하려면 파일불러오기를 해야함
1. main_test.py 뼈대가 되는 파일 / main_func.py 복잡한 함수는 여기에 나눠서 작성했을 경우
2. main_func.py에 만든 함수를 main_test.py에서 불러와 쓰고 싶으면
3. main_test.py에 from main_func import * 를 작성
4. 특정함수만 가지고 오고 싶으면 *대신 함수명()을 작성 from main_func import 함수명()
if 한줄로 줄여쓰기
:위 코드를 아래코드 처럼 한줄로 줄여 쓸 수 있음
num = 3
if num % 2 == 0:
result = '짝수'
else:
result = '홀수'
#짝수라고해라 만약에 num을 2로 나눴을때 0이 나오면, 아니면 홀수라고해라
result = ('짝수' if num % 2 == 0 else '홀수')
for 한줄로 줄여쓰기
:위 코드를 아래코드 처럼 한줄로 줄여 쓸 수 있음
a_list = [1,3,2,5,1,2]
b_list = []
for a in a_list:
b_list.append(a*2)
#a_list 안에있는 a를 돌리는데 그때마다 a*2를 해라 그런다음 리스트로 묶어라
b_list = [a*2 for a in a]
문제 (해결하기 어려웠던 일이나 에러)
튜플
딕셔너리 이해가 어려움
시도 (문제가 생긴 이유와 해결하기 위해 시도해본 것들)
해결 (최종적으로 해결이 되었을 때 시도한 것 정리)
마무리 (내가 새롭게 알게 된 것이나 짧은 정리)
'TIL' 카테고리의 다른 글
[TIL]2023.03.23 / 파이썬 기초 중 함수심화 / (0) | 2023.04.29 |
---|---|
[TIL]2023.03.22 / 파이썬 기초 중 심화 / (0) | 2023.04.29 |
[TIL]2023.03.20 / 파이썬 기초/특강 (0) | 2023.04.26 |
[TIL]2023.03.17 / 팀 소개 웹 사이트 project 마무리 /발표 (0) | 2023.04.26 |
[TIL]2023.03.16 / 팀 소개 웹 사이트 project (스크롤 이벤트 추가/버튼 클릭 시 배경 변경) (0) | 2023.04.26 |