728x90
1. 튜플, 집합
튜플은 리스트와 비슷하지만 불변인 자료형. 마찬가지로 순서가 존재
a = (1,2,3)
print(a[0]) # 1
집합은 중복이 제거된다.
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) # {1, 2, 3, 4, 5}
a = ['사과','감','수박','참외','딸기']
b = ['사과','멜론','청포도','토마토','참외']
a_set = set(a)
b_set = set(b)
print(a_set - b_set) # 차집합
print(a_set & b_set) # 교집합
print(a_set | b_set) # 합집합
2. f-string
for s in scores:
name = s['name']
score = str(s['score'])
print(f'{name}은 {score}점입니다')
3. 예외처리
try-except 문
for person in people:
try:
if person['age'] > 20:
print (person['name'])
except:
name = person['name']
print(f'{name} - 에러입니다')
4. 파일로 불러오기
main_test.py
from main_func import *
say_hi()
main_func.py
def say_hi():
print('안녕!')
5. 한 줄의 마법
삼항연산자
(참일 때 값) if (조건) else (거짓일 때 값)
num = 3
result = "짝수" if num%2 == 0 else "홀수"
print(f"{num}은 {result}입니다.")
for문 한방에 써버리기
a_list = [1, 3, 2, 5, 1, 2]
b_list = [a*2 for a in a_list]
print(b_list)
6. map, filter, lambda 식
map 리스트의 모든 원소를 조작하기
def check_adult(person):
return '성인' if person['age'] > 20 else '청소년'
result = map(check_adult, people)
print(list(result))
lambda 함수를 매개변수로 바로 쓰기, 한 줄로 쓰기
result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))
filter 리스트의 모든 원소 중 특별한 것만 뽑기
result = filter(lambda x: x['age'] > 20, people)
print(list(result))
7. 함수 심화
함수에 인수를 넣을 때, 어떤 매개변수에 어떤 값을 넣을지 정해줄 수 있어요.
def cal(a, b):
return a + 2 * b
print(cal(3, 5)) # 13
print(cal(5, 3)) # 11
print(cal(a=3, b=5)) # 13
print(cal(b=5, a=3)) # 13
특정 매개변수에 디폴트 값을 지정해줄 수 있어요.
def cal2(a, b=3):
return a + 2 * b
print(cal2(4))
print(cal2(4, 2))
print(cal2(a=6))
print(cal2(a=1, b=7))
입력값의 개수를 지정하지 않고 모두 받는 방법
def call_names(*args):
for name in args:
print(f'{name}야 밥먹어라~')
call_names('철수','영수','희재')
이렇게 여러 개의 인수를 하나의 매개변수로 받을 때 관례적으로 args라는 이름을 사용합니다.
arguments라는 뜻이에요
8. 클래스
아주 많은 것들을 비슷하게 관리해야 할 때 사용
class Monster():
hp = 100
alive = True
def damage(self, attack):
self.hp = self.hp - attack
if self.hp < 0:
self.alive = False
def status_check(self):
if self.alive:
print('살아있다')
else:
print('죽었다')
m = Monster()
m.damage(120)
m2 = Monster()
m2.damage(90)
m.status_check()
m2.status_check()
'학습 내용 정리 > python' 카테고리의 다른 글
파이썬 문법 뽀개기 : 기초 (0) | 2024.07.19 |
---|---|
PULL methods 미스테리 3 : 해결완료 (0) | 2023.05.22 |
PULL Methods 미스테리 2 (0) | 2023.05.22 |
PULL methods 미스테리 (0) | 2023.05.21 |
Python DB 기초 : 스파르타 코딩클럽 웹개발 종합반 3주차 (1) | 2023.04.28 |