파이썬 문법 실시간 강의
파이썬 과제 git
알고리즘 실습
파이썬 문법 실시간 강의
파이썬 과제
알고리즘 실습
파이썬 심화
1) try / exception을 활용한 에러 처리
number = input() try: int(number) 10 / number except ValueError: # int로 변환하는 과정에서 에러가 발생했을 떄 print(f"{number}은(는) 숫자가 아닙니다.") except ZeroDivisionError: # 0으로 나누면서 에러가 발생했을 때 print("0으로는 나눌수 없습니다.") except Exception as e: # 위에서 정의하지 않은 에러가 발생했을 때(권장하지 않음) print(f"예상하지 못한 에러가 발생했습니다. error : {e}")
2) stacktrace : 에러가 발생했을때 에러 코드를 더 직관적으로 볼 수 있게 해준다.
3) 축약식(Comprehension)
a = [x*2 for x in range(5)] print(a)
출력 [0, 2, 4, 6, 8]
4) lambda / map / filter / sort 활용
numbers = [1, 2, 3, 4] double_numbers = list(map(lambda x: x*2, numbers)) print(double_numbers) # [2, 4, 6, 8]
numbers = [1, 2, 3, 4, 5, 6, 7, 8] even_numbers = list(filter(lambda x: x%2 == 0, numbers)) print(even_numbers) # [2, 4, 6, 8]
numbers = [5, 3, 2, 4, 6, 1] numbers.sort() print(numbers) # [1, 2, 3, 4, 5, 6]
#sort와 lambda 함수를 같이 사용하면 복잡한 구조의 list도 정렬할 수 있습니다. people = [ ("lee", 32), ("kim", 23), ("park", 27), ("hong", 29), ("kang", 26) ] #나이 순으로 정렬하기 people.sort(key=lambda x: x[1]) print(people) #출력 [ ("kim", 23), ("kang", 26), ("park", 27), ("hong", 29), ("lee", 32) ]
-> sort조건이 두개일때
people = [ ("lee", 29), ("lee", 30), ("lee", 32), ("kim", 23), ("kim", 27), ("park", 27), ("hong", 29), ("kang", 26) ] #sort조건이 두개일때 튜플사용 people.sort(key=lambda x: (x[0],x[1])) print(people) #출력 1번조건: x[0] 2번조건: x[1] [ ('hong', 29), ('kang', 26), ('kim', 23), ('kim', 27), ('lee', 29), ('lee', 30), ('lee', 32), ('park', 27) ]
파이썬 강의도 내일이면 끝이나는데 더 많이 사용해봐야겠다. 알고리즘 문제도 하루에 한문제씩이라도 풀면서 감 잃지않기!