python 기초
-
python generatorpython 기초 2023. 1. 23. 14:53
iterator를 만들어주는 함수. yield를 통해 다음 출력을 정한다. 활용은 무한한 순서있는 객체를 생성하는데 사용 (내부 변수가 계속 유지된다는 특징!) def counter(): n=0 while True: n=n+1 yield(n) n=counter() print(next(n)) print(next(n)) print(next(n)) print(next(n)) 위와 같이 counter를 생성하면 매 호출때마다, yield가 되고, n이 유지되면서, 1,2,3,4의 출력을 순서대로 얻을수 있다.
-
python closure / decoratorpython 기초 2023. 1. 23. 14:02
python에서는 함수도 하나의 객체가 된다. 이러한 특징을 이용하면, 함수를 만들어내는 함수 라던가, 함수를 조작하는 함수 같은 것들이 구현 가능하다. 함수를 만들어주는 함수 = closure 위와 같이 function_creator라는 함수로, mul이라는 함수를 만들어서 f에 return하였다. 이 f를 원하는 때에 불러와서, 맘껏 쓸 수 있다. 단순한 연산에서 굳이.... 싶지만 여기서 특징적인 부분은, f를 만들때 넣어준 a가 계속 유지된다는 사실. -> 매번 조건에 따라 함수를 호출할 때, 이를 단순화 할 수 있을듯 하다. 함수를 인자로 받아 새로운 함수로 꾸며주는 함수 = decorator 위의 time_check와 같은 decorator는 함수를 받아서 앞뒤 시간을 체크하는 새로운 함수를 ..
-
data type encoding - decodingpython 기초 2023. 1. 22. 21:28
인코딩이란, 사람이 인지할 수 있는 형태의 데이터를 컴퓨터가 인지할 수 있는 형태로 변환하는 과정이다. 반대로 디코딩이란, 인코딩의 역과정이라고 할 수 있다. https://namu.wiki/w/%EC%9D%B8%EC%BD%94%EB%94%A9 인코딩 - 나무위키 문자 코드를 전산기기 안에서 0, 1로 저장하는 방식. 많은 사람들이 문자 코드와 문자 인코딩을 잘 구분하지 못하지만, 이 둘은 "부호화"라는 관점에서 같지만 "개념"은 엄연히 다르다. 1바이트 인 namu.wiki 여기서 사람을 위한 데이터와 컴퓨터를 위한 데이터(숫자) 사이의 매칭을 약속해두고, 어떤 규약을 사용하였는지 명시해야한다. 대표적으로 ASCII, utf-8, utf-16 등이 있다. python에서는 encode / decode를..