본문 바로가기
반응형

Programming Language/Python14

[파이썬/Python] 숫자/문자열 앞에 "0" 채우기 1. 문자열 앞에 "0" 채우기 -> zfill string_number = "1" a = string_number.zfill(2) b = string_number.zfill(4) print(a) print(b) >>> 01 >>> 0001 2. 문자열 앞에 "0" 말고도 다른 것으로 채우기 -> rjust string_number = "1" a = string_number.rjust(2, "a") b = string_number.rjust(4, "b") print(a) print(b) >>> a1 >>> bbb1 3. 숫자 앞에 "0" 채우기 -> format number = 1 a = format(number, '02') b = '{0:04d}'.format(number) print(a) print(.. 2021. 6. 8.
[파이썬/Python] 문자열을 변수로 만들기, globals() locals() 예를 들어, 아래와 작성된다면 입력 받은 문자열이 "apple" 일 때, apple이라는 변수가 생성되고 값이 할당되는 것을 볼 수 있다. user_input = input("Enter string for variable name: \n") globals()[user_input] = 50 print(apple) print(type(apple)) >>> 50 >>> 이 때, globals는 글로벌 변수를 의미하고, locals는 로컬 변수를 의미한다. globals() 를 호출했을 때는 글로벌 변수들이, locals() 를 호출했을 때는 로컬 변수들이 Dictionary 형태로 불러와진다. 따라서, Dict의 특성에 따라, globals()["apple"] = 50 이라고 하면, 새로운 Key-Value .. 2021. 6. 2.
Effective Python. 메타클래스로 클래스 속성에 주석을 달자. 메타클래스와 디스크립터를 활용하면, 중복 코드를 좀 더 줄이고 깔끔한 코드를 만들 수 있다. 아래와 같은 Field 디스크립터가 있다고 가정해보자. class Field: def __init__(self, name): self.name = name self.internal_name = '_' + self.name def __get__(self, instance, instance_type): if instance is None: return self return getattr(instance, self.internal_name, '') def __set__(self, instance, value): setattr(instance, self.instance_name, value) 그리고, Field 디스크립.. 2021. 3. 3.
Effective Python. 메타클래스로 서브클래스를 검증하자. 메타클래스를 응용하는 가장 간단한 사례는 클래스를 올바르게 정의했는지 검증하는 것이다. 클래스 계층을 만들 때 스타일을 강제하거나, 메서드를 오버라이드하도록 요구하거나, 클래스 속성 사이에 관계를 두고 싶을 수도 있다. 보통 클래스 검증 코드는 클래스의 객체가 생성될 때 __init__ 메서드에서 실행된다. 만약, 메타클래스를 검증용으로 사용하면 오류를 더 빨리 일으킬 수 있다. (즉, 서브클래스가 정의되는 시점부터 제대로 구성되었음을 보장하려면 메타클래스를 사용하면 된다) 메타클래스는 type을 상속하여 정의한다. 메타클래스는 기본으로 자체의 __new__ 메서드에서 연관된 class 문의 콘텐츠를 받는다. 여기서 타입이 실제로 생성되기 전에 클래스 정보를 수정할 수 있다. class Meta(type.. 2021. 3. 3.
반응형