목록Programming Laguage (22)
nathan_H
종종 프로그래밍을 하다보면 function을 사용해라 method를 사용해라 라는 말을 자주 들을 것이다. 나는 이 부분이 먼지 자주 헷갈려 블로그를 통해 명확히 정리하고자 한다. function은 어떠한 기능을 가진 것이고 method는 클래스 내에서 객체의 기능들이라고 볼수 있고 객체내의 함수라고 생각하면 된다. 즉 function은 method보다 범용적인 측면에서 사용한다고 생각하면 될거 같다.
python에 있어 namespace는 크게 전역변수 지역변수로 볼 수 있다. 지역변수는 함수 안에서 동작하고 할당되는 변수이고 전역 변수는 함수 내부가 아닌 전체에 할당되고 동작하는 함수이다. 그리고 함수 내부에 있는 지역 변수와 전역 변수의 변수의 이름이 같더라도 서로 다르게 동작한다. 또한 함수 내부에서 전역변수를 사용하고 싶다면 global variable name 을 호출하면 사용 할 수 있다. dog_name = 'Shiva' def change_dog(): '''this dog_name is change_dog func local variable''' dog_name = "poodle" return dog_name def global_dog(): '''call global variable d..
decorator는 하나의 함수를 취해 또 다른 함수를 반환하는 함수이다. from functools import wraps def document_it(func): @wraps(func) def new_function(*args, **kwargs): print("Running function:", func.__name__) print('Positional arguments:', args) print("Keyword arguments:", kwargs) result = func(*args, **kwargs) print("Result:", result) return result return new_function 데코레이터의 코드를 보면 크게 3가지 장치를 활용해 구성되어 있다. *args, **kwarg..
python은 내부 함수을 사용할 수 있다 즉 함수 안에 함수를 넣어 루프나 코드 중복을 피하기 위해 또 다른 함수 내에 어떤 복잡한 작업을 한 번 이상 수행할 때 유용하게 사용 할 수 있다. def write(books): def reading(book): return f"i am reading {book}" return reading(books) 그리고 내부 함수는 클로저처럼 사용 될 수 있다. 클로져란 다른 함수에 의해 동적으로 생성된다. 그리고 바깥 함수로부터 생성된 변수값을 변경하고, 저장할 수 잇는 함수이다. def write1(books): '''closure''' def reading(): return f"i am reading {books}" return reading if __name_..
if __name__ == "__main__": nums = 12345 print(bin(nums)) # 10진수 -> 2진수 (0b으로 시작) print(oct(nums)) # 10진수 -> 8진수 (0o으로 시작) print(hex(nums)) # 10진수 -> 16진수 (0x으로 시작) # ascll code print(ord("z")) # ascll -> 숫자 print(hex(ord("z"))) # ascll -> 8진수 print(chr(90)) # 숫자 -> ascll print(chr(0x5A)) # 16진수 -> ascll
출처 - https://mingrammer.com/translation-asynchronous-python/ 비동기 파이썬 intro 프로그램이란 각 라인 별로 순서대로 실행이 되는 특성이 있다.리소스를 가져오기 위해 원격 서버로 접속하는 코드 라인을 가지고 있다는건 서버 연결을 대기하는동안 프로그램이 아무것도 하지 못함을 의미한다.진행하기 위해 응답을 기다려야한다.이런 상황을 표준 해결책은 threading이다.스레드는 여러개를 동시에 사용하면 프로그램은 동시에 여러가지 일을 할 수 있다.여러 스레드를 돌릴 수 있으며 각 스레드는 동시에 실행이 된다,경쟁 조건, 데드락, 라이브락 기아 상태 등의 까다로운 문제들을 포함한 에러가 발생하기 쉽다. [컨텍스 스위칭] 비동기 프로그래밍은 이러한 모든 문제를 방..