Python/Basic

[Python] Class 와 OOP에 관하여
필요성 처음 배울 때는 내가 그냥 Class 안쓰고 OOP를 안쓰면 되는 것 아닌가 싶어서 대충 공부하고 넘어갔지만 현업을 하면 할 수록 혹은 open source나 논문등을 읽으면 읽을 수록 공부의 필요성을 느껴서 정리하였다 목적 우리가 OOP 즉, Object-Oriented Programming (객체지향프로그래밍)을 하는 이유는 OOP가 가지고 있는 장점들 때문이다 대표적으로 만들어 놓은 코드를 재사용한다 던지 기능에 따라 분류하여 구현하여서 협업에 있어서 코드 이해 없이 사용할 수 있다 던지 Python을 사용하는 곳이라면 반드시 필요하다 OOP란? OOP의 뜻은 Object-Oriented Programming (객체지향프로그래밍)이다 여기서 빼놓을 수 없는 단어는 "객체"이다 객체? 객체란:..
Python에서의 *args 와 **kwargs
처음에는 포인터 인줄 알고 쫄았지만 Python에서는 포인터의 개념으로 사용되지는 않는다 *args *args는 arguments 의 줄인 말이고 통상적으로 *arg를 많이 사용하지만 굳이 변수명을 arg를 할 필요는 없다 *args 는 여러개의 인자를 함수로 받고자 할 때 사용한다 def myclass(*students): print(students) print("The first student name is : ", students[0]) print("The last student name is : ", students[-1]) myclass('철수','영희','바둑이') >>> ('철수', '영희', '바둑이') >>> The first student name is : 철수 >>> The last ..
Python Decorator 에 관하여
Decorate 처음 논문을 구현한 코드 등을 보거나 깃허브를 둘러보면 이 Decorate 때문에 당황한 경험이 있을 것이다 쉽게 말 그대로 코드를 꾸밀 수 있는 기능으로 생각하면 편하다 (@를 사용한다) 아래 예시로 쉽게 파악이 가능하다 def Deco(func): print("#" * 14) print("## 함수를 수행합니다.") func() print("#" * 14) @Deco def sum_one2five(): sum = 0 for i in range (1,6): print("## ",i,"번째 처리중") sum += i print("## 결과값 : ", sum) print("\n") @Deco def mul_one2five(): mul = 1 for i in range (1,6): print..

[AI for Python] 행렬의 곱셈 정리
Python 에서의 행렬의 곱셈 종류 https://cyber0946.tistory.com/64 import numpy as np A = np.array([[1,2,3], [4,5,6]]) B = np.array([[1,0], [1,0], [0,1]]) A@B #array([[3, 3], # [9, 6]]) 1. numpy * operator (asterisk) shape가 동일한 두행열의 원소끼리(element-wise) 곱하는 연산자 ex) A*B import numpy as np A = np.array([[1,2,3], [4,5,6]]) B = np.array([[2,2,2], [4,5,0]]) A*B [11] 0초 import sympy as sym from sympy.abc import x,y,..

[Python Basic] Python 에 수식표현(Sympy)
Python 에 수식을 어떻게 표현을 할 수 있을까 ??? =>Sympy를 이용해서 출력을 하면 된다 from sympy.abc import x,y,z x,y, 오일러상수 e등을 본래 알파벳이 아닌 함수의 변수 혹은 상수로 활용하기 위해 sympy.abc에서 import 즉, 수학적인 의미를 담은 문자라고 선언 from sympy.plotting import plot 사용한 수식을 그래프로 나타내기 위해서 사용 sym.diff(function) 미분값을 나타내어 준다 func =x**2 + 2*x + 100 val = func.subs(x,1) #103 sym.subs 함수는 변수를 다른변수로 치환하거나 값을 대입해준다. function명.subs(넣을 곳, 넣을 값)

[Python Basic]조건문과 반복문
1. 조건문 파이썬은 조건문으로 if - elif - else 의 예약어를 사용한다 (else if 아님) 조건 , ==(is 와 유사), !=(is not 과 유사), >=, >(False) b = a a is b #>>(True) -5 ~ 255 는 정적메모리여서 is가 True가 나오기는 함 (이건 메모리를 미리 지정 해놈) -> is 는 최대한 쓰지 않는 걸 추천 +) if 4: -> true 존재 하면 true 임 if "": -> 이건 false if None -> false 논리 조건 and or not -> ||이런거 아님 all(content) -> content 가 전부 true면 true any(content) -> content 중 하나가 true면 true 삼항연산자..

[Python Basic]Function and print function formatting
함수 (주로 상단에 적어준다 ) def 함수명 (매개변수): 수행문 (statements) //보통 4칸의 들여쓰기를 한다 return 반환값 -> 캡슐화 : 인터페이스만 알면 타인의 코드 사용 가능 함수 사이에는 두 줄씩을 띄운다 개념적 접근 parameter : 함수의 입력 값 인터페이스 argument : 실제 Parameter에 대입된 값 print문을 formatting 하는 방법 1. %string 2. format함수 3. fstring old school formatting : 자료형을 직접 적음 % format print('%datatype' %(variable)) #한개면 상관없는데 두개 이상 var이면 튜플로 묶음 s->string, c ->char, d -> int, f-..

[Python Basic]파이썬의 기초, 자료형, List
놀랍게도 파이썬도 객체지향 언어이다 프로그래밍에서 변수 = 값을 저장하는 장소 (변수 = 값 : 변수에 값을 넣어라) 변수는 메모리의 주소를 가지고 있음 (메모리에 들어가 있음) ex) 0x0006 변수에 들어가는 값은 메모리 주소에 할당된다 선언이 되는 순간 물리적인 공간이 할당된다 cpu (제어장치 + 산술논리 장치) 기본자료형 -정수형 integer 32bit -> 4byte -실수형 float 64bit -문자형 string -논리형 boolean => 파이썬은 코드 실행시점에 데이터의 Type을 결정하는 "Dynamic Typing" 이다 "float 에서 주의점은 computer는 실수를 이진수로 저장하기에 무한소수가 된다" (프로그래밍 할때 오차 발생의 가능성을 염두해야 한다)..