Python
-
[NumPy] BroadcastingPython 2022. 1. 23. 16:38
general broadcasting rule 꼬리부분의 차원(맨 오른쪽) 부터 시작해 왼쪽방향으로 적용된다. 각 차원에서 사이즈가 큰것이 적용된다. 1. 각 차원에서의 사이즈가 같거나 2. 각 차원에서의 한쪽 배열이 사이즈가 1일때만 적용가능 (없는 차원의 경우 사이즈 1로 간주할 수 있다) broadcasting 규칙 확인 1. broadcasting 적용 가능 유무, broadcasting 결과 배열의 shape a= (3 x 4) b= (1 x 1) (마지막 꼬리에 해당하는 차원인 열부터) 4, 1 비교 -> 큰 값 4 -> (행) 3,1 비교 -> 큰 값 3 broadcasting 결과: 3 x 4 a = (3 x 4) b= (4, ) -> 없는 차원은 비교될 때 1로 간주 (1 x 4) 4, ..
-
[Python] list comprehensionPython 2022. 1. 20. 12:51
간결한 문법으로 리스트를 생성할 수 있는 것 같다. 1. 0~9 값 리스트에 추가하여 리스트 생성 for문 사용시 li = [] for item in range(10): li.append(item) print(li) list comprehension 사용시 li = [item for item in range(10)] print(li) list comprehension에 for if 를 섞어서 사용가능 0~9 값중 짝수만 리스트에 추가하여 리스트 생성 for+if문 사용 li = [] for item in range(10): if item % 2 == 0: li.append(item) print(li) list comprehension 사용 li = [item for item in range(10) if ..
-
[Python] 클래스 상속과 super()함수의 동작이해Python 2022. 1. 12. 15:51
자바와 비교해보는 파이썬 클래스 상속 super()에 대해서 삽질한 내용을 다뤘다. 이전 포스팅에서 공부한 내용 [Python] - [Python] 클래스 기초 문법 클래스 선언 생성자 __init__메서드(인스턴스 초기화) 인스턴스 생성 __new__메서드 인스턴스 메서드 소멸자 __del__메서드 클래스 변수 static 메서드 vs class 메서드 메서드 오버로딩 이번 포스팅에서 공부한 내용 클래스 상속 상속 관계시 조상 클래스들의 메서드(생성자 메서드)호출 super() method resolution order (MRO) 클래스 상속 파이썬은 다중 상속을 허용하는 언어이다. 특정 클래스들을 상속하는 클래스 선언 class 클래스명(상속받을 클래스1, 상속받을 클래스2,....): pass 파이..
-
[Python] 클래스 기초Python 2022. 1. 11. 19:22
자바와 비교해보는 파이썬 클래스 공부 목차 클래스 선언 생성자 __init__메서드(인스턴스 초기화) 인스턴스 생성 __new__메서드 인스턴스 메서드 소멸자 __del__메서드 클래스 변수 static 메서드 vs class 메서드 메서드 오버로딩 클래스 선언 클래스 상속부분을 공부하다 여러 포스팅에서 클래스 선언부의 문법 형태가 여러가지 인것을 확인하였다. 구글링해봤다. https://jh-bk.tistory.com/24 [Python] 클래스가 object를 상속받는 경우 남의 파이썬 코드를 보다 보면, 종종 다음과 같은 형태의 클래스 선언과 마주하게 된다. class MyClass(object): # blah blah... 일단은 해당 라인만 보면 내가 선언한 클래스가 object 클래스를 상속 ..
-
[Python] False,True 관련 연산자 동작(+None)Python 2022. 1. 7. 18:56
1. 값 비교에서 True는 1, False는 0값을 가진다. 2. Falsy 와 Truthy 용어 3. Built-in bool() 함수 4. 객체를 Truthy 또는 Falsy 로 만들기 5. __len__() 메서드 6. 논리 연산자의 단락 평가 7. None 1. 값 비교에서 True는 1, False는 0값을 가지게 설계되어있다. is 연산자는 객체 비교 연산자이고, == 연산자는 값 비교 연산자이다. 값 비교 연산자인 ==에서 True, False가 사용될 때 True는 1, False는 0값을 가진다. True는 1값을 가진다 print(-1 == True) print(0 == True) print(1 == True) #True는 값으로 1로 간주됨 구글링 하다 파이썬은 operator ov..
-
[Python] immutable, mutable 객체Python 2022. 1. 6. 15:08
핵심: 파이썬의 immutable 객체는 불변 + 싱글톤이다. 파이썬은 모든 것이 객체 자바의 경우 primitive타입(int,byte,boolean,float,char,double등)변수와 참조타입(class, interface)변수가 존재한다. primitive 타입 변수에는 객체를 담을 수 없고 해당하는 타입(int,float등)인 단순 값(3, 3.5)이 저장된다. 참조 변수에는 객체의 주소가 저장된다. //java //main함수(로컬) int a =3; //primitive int형 변수 a에는 값인 3이 저장됨 //Person클래스 선언되어있다고 가정 Person person = new Person(); //Person타입 참조변수 person에는 new 연산자를 통해 만들어진 객체의 주소..