Python 11

[파이썬 코드 업] 9-2장. 클래스와 매직 메서드

9.9 매직 메서드 개요 파이썬은 의미를 미리 정의한 여러 메서드 이름이 있다. 모든 이름은 언더바 2개(__)로 시작하고 끝난다. 이런 메서드를 던더(dunder, double underscore) 메서드라 부른다. 그래서 메서드 이름을 지을 때 언더바 2개(__)를 아예 사용하지 않는다면 던더 메서드의 이름과 겹치지 않는다. 미리 정의된 이름을 사용하는 메서드를 매직 메서드라고 부른다. 다른 메서드와 똑같은 방식으로 호출되지만 특정 조건에 따라 자동으로 호출되기도 한다. ex) __init__ 메서드 : 해당 클래스의 인스턴스가 생성될 때 마다 자동으로 호출되는 매직 메서드 그렇다면 어떤 매직 메서드가 있는지 하나씩 살펴보겠다. 9.10 매직 메서드 상세 앞으로 소개할 각 섹션은 중/고급 파이썬 프로..

Python 2023.05.07

[파이썬 코드 업] 9-1장. 클래스와 매직 메서드

대부분 클래스를 정의할 수 있는 기능을 갖고 있다. 파이썬은 클래스에 매직 메서드라는 기능을 추가했다. 9.1 클래스와 객체 기본 문법 class Car : accel = 3.0 mpg = 25 car1 = Car() car2 = Car() print('car1.accel : ' , car1.accel) # 3.0 출력 print('car1.mpg : ' , car1.mpg) # 25 출력 print('car2.accel : ' , car2.accel) # 3.0 출력 print('car2.mpg : ' , car2.mpg) # 25 출력 car1이 갖고 있는 인스턴스의 변수를 내 맘대로 수정할 수도 있다. car1.accel = 5.0 car1.mpg = 300 >>> car1.accel 5.0 >>>..

Python 2023.05.06

[파이썬 코드 업] 4-3장. 데코레이터

4.9 데코레이터 파이썬에서 제공하는 데코레이터는 함수를 장식한다는 뜻에서 붙여진 이름이다. 그렇다면 언제, 어떻게 사용해야 할까?? 데코레이터는 함수를 수정하지 않은 상태에서 추가 기능을 구현할 때 사용한다. 개념 및 예시 ex) hello 함수, world 함수 기존함수 hello, world def hello() : print('hello') def world() : print('world')이때, 각각의 함수의 시작과 끝을 출력하는 코드를 넣고 싶다. 그러면 아래와 같이 함수를 수정해주면 된다. def hello() : print('hello 함수 시작') print('hello') print('hello 함수 끝') def ..

Python 2023.05.06

[파이썬 코드 업] 4-1장. 프로그래밍 지름길

① 필요하다면 코드를 여러 줄에 걸쳐 작성한다 물리적으로 1줄보다 긴 문장을 작성할 때 여러 가지 방법을 이용해서 해결할 수 있다. literal 문자열 다음에 literal 문자열 입력 ex) my_str = 'I am Hen-er-y the Eighth,' ' I am!' 라고 입력 >>> my_str 'I am Hen-er-y the Eighth, I am!' 로 입력된다. # 'I am Hen-er-y the Eighth, ' 라는 literal 문자열 다음에 # 한 칸 띄고 # ' I am!' literal 문자열을 입력함으로써 두 문자열을 연결했다. \를 이용하는 방법 my_str = 'I am Hen-er-y the Eighth,' \ ' I am!' # 이때, 역슬래시(\) 뒤에 아무런 공..

Python 2023.05.05

[파이썬 스킬 업] 3장. 리스트 기능

3.1 리스트 생성 및 활용 간단하게 왼쪽에 변수 오른쪽에 리스트라고 생각하면 된다. myList = [1, 4, 6, 2, 44, 20] beatles_list= ['John', 'Paul', 'George', 'Ringo'] 항목 추가 (뒤에서부터 추가) : append my_list = [] my_list.append(10) my_list.append(220) my_list.append(3) my_list # 출력값 : [10, 220, 3] # 코드 순서처럼 10, 220, 3 순서로 데이터가 저장된 걸 확인할 수 있음 항목 삭제 my_list = [10, 220, 3]my_list.remove(10) # 값이 10인 항목을 삭제한다. # ..

Python 2023.04.27

[파이썬 스킬 업] 2장. 문자열 기능

2-1 문자열은 불변(immutable) 불변 타입의 장점 1) 딕셔너리의 키로 사용할 수 있다2) 불변 타입을 사용할 때 내부적으로 성능이 최적화되어 있는 데이터 타입을 사용할 수 있다. ex) 튜플이 리스트보다 더 효율적 `movie_score = {'인셉션' : 5.0, '파벨만스' : 3.5, '헤어질 결심' : 4.0} # 딕셔너리의 키로 불변인 문자열을 사용할 수 있다` 불변 타입의 단점 1) 변경할 수 없다.하지만, 다음 코드는 동작한다.기존에 있던 문자열 값을 바꾸는게 아니라 새로운 문자열 객체를 생성하고 변수에 대입하기 때문에 문제가 없다. `my_str = '안녕' my_str = '안녕하세요.'` `my_str =..

Python 2023.04.25

[파이썬 스킬 업] 1-4 세트(set)

수학시간에 배운 집합을 생각하면 된다. - 모든 값들은 유일한 값이다. 이미 있는 값을 추가하면 무시된다. - 모든 값들은 불변(immutable) 타입이어야 한다. - 정렬되어 있지 않다.정의 b_set1 = { '상주', '파주', '부산', '서울' } b_set2 = { '상주', '구로', '부산', '광양' } # 이때, 중괄호 기호만으로 빈 세트를 만들 수 없다. # 왜냐하면, 딕셔너리와 문법이 겹치기 때문이다. # 대신에 아래의 문법을 사용한다. my_set = set() add & remove b_set1.add('오리') # '오리'라는 항목을 ..

Python 2023.04.17

[파이썬 스킬 업] 1-3 딕셔너리

key - value 쌍으로 구성된 열거형 데이터 갖고 있는 컬렉션이다. { key1 : value1, key2 : value2, ... } # 리스트와는 다르게 중괄호({})를 사용한다. # JSON 데이터의 형식이 이와 동일함 구성 grade_dict = {'단아' : 3.9, '민채' : 3.9, '예준' : 2.5 } ''' '단아'라는 key와 연결된 값(value)은 3.9 '민채'라는 key와 연결된 값(value)은 3.9 '예준'이라는 key와 연결된 값(value)은 2.5 ''' 이때, key 값들은 중복되지 않는 유일한 값이어야 한다. value 값들은 중복되어도 상관없다. 활용 추가 위와 같이 딕셔너리를 생성했다면 값을 추가할 수 있다. grade_dict['건아'] = 4.0 #..

Python 2023.04.17

[파이썬 스킬 업] 1-2 튜플

리스트 def list_func() : return [10, 25, 5] # 해당 함수를 호출하면 리스트가 반환되도록 함 my_list = list_func() 튜플 def tuple_func() : return 10, 25, 5 # 해당 함수를 호출하면 튜플이 반환되도록 함 return (10, 25, 5) # 소괄호로 감싸도 튜플임 a, b, c = list_func() # 튜플로 반환되기 때문에 왼쪽과 같이 사용할 수 있음 기본적으로 리스트와 튜플은 거의 비슷하다. 중복 값을 허용하고 값도 정렬된다. 차이점 튜플은 불변(immutable)의 성질을 갖는다. 즉, 튜플에 있는 값은 변경할 수 없는 값이다.

Python 2023.04.17