Python
파이썬 문법 기초
수수 아보카도
2022. 11. 21. 15:30
스파르타 코딩클럽에서 백엔드 Node.js 배우는 데 필요한 파이썬 강의. 1주차로 이루어진 아주 간단했다.
1. 튜플 (tuple)
리스트와 비슷하지만 불변인 자료형.
딕셔너리 대신 리스트와 튜플로 만들어 사용해야 할 때 쓰인다.
a = (1,2,3)
print(a[0])
a_dict = [('bob','24'),('john','29'),('smith','30')]
2. 집합 (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)
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 = str(s['score'])
print(f'{name}은 {score}점입니다')
4. 예외처리: 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:
try:
if person['age'] > 20:
print (person['name'])
except:
name = person['name']
print(f'{name} - 에러입니다')
5. 여러개 파일에서 다른 파일 불러오기 - 내가 부족한 부분
main_test.py
from main_func import *
say_hi()
main_func.py
def say_hi():
print('안녕!')
6. 한 줄로도 표현이 가능한 파이썬!
// if
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)
7. map()
리스트의 모든 원소를 조작한다. lambda x: 를 쓰는 것이 핵심!
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}
]
// 간단하게 표현
def check_adult(person):
return '성인' if person['age'] > 20 else '청소년'
result = map(check_adult, people)
print(list(result))
// 더 간단하게 표현
result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))
8. filter()
리스트의 모든 원소 중 특별한 것만 뽑을 수 있다.
result = filter(lambda x: x['age'] > 20, people)
print(list(result))
9. 함수 매개변수
1) 입력값의 개수를 지정하지 않고 모두 받기 : *args
2) 키워드 인수 여러 개 받기: **kwargs
def call_names(*args):
for name in args:
print(f'{name}야 밥먹어라~')
call_names('철수','영수','희재')
def get_kwargs(**kwargs):
print(kwargs)
get_kwargs(name='bob')
get_kwargs(name='john', age='27')
10. 객체지향
물체에 관련 속성들을 넣어두고, 컨트롤할 수 있는 함수들을 붙여준다.
중앙에서는 함수만 불러다가 물체를 제어한다.
ex. 인스턴스 = 몬스터 한 마리
이렇게 끝나는건가? 조금 아쉽긴 하지만...
sql도 마저 들어야하고, 혼공스 함수랑 객체지향도 마저 공부해야 한다.
마지막까지 홧팅