목록Programming Laguage/Python (12)
nathan_H
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