목록Python (5)
programmer-blog
private attribute private method 클래스 내부에서만 접근 할 수 있는 속성을 가르켜 비공개 메서드라고 한다. 속성 이름 앞에 __을 붙이면 비공개 속성이 된다. class Person: def __init__(self,name,wallet): self.name = name self.wallet = wallet def money(self): print(self.wallet) bill = Person('bill','10000') bill.money() 비공개 속성은 이렇게 클래스 내부 함수를 통해서만 접근 할 수 있다. bill.__wallet # AttributeError: 'Person' object has no attribute '__wallet' 만약 밖에서 접근하려고 하면 ..
데코레이터(Decorator)는 장식가,디자이너의 사전적 의미를 가지고 있다. 이것에서 무언가를 꾸며주는 역할을 한다고 추측할 수 있듯이, 데코레이터는 함수에 추가적인 기능을 붙이는 역할을 한다. 아래 코드는 데코레이터를 사용해서 함수의 상태를 출력하는 프로그램이다. def doc_it(func): #매개변수로 함수를 받음 def new_func(*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..
packing이란 말 그대로 인자를 모으는 걸 말한다. 몇개의 인자를 입력해도 전부 *,**에 의해 패키징 되어 출력된다. 리스트,튜플의 위치인자를 모으려면 *을 사용한다. def print_args(*args): print('Tuple:',args) print_args(1,2,3,'1','2','3') 키워드 인자를 딕셔너리로 모으려면 **을 사용한다. def print_kwargs(**kwargs): print('Keyword arguments:',kwargs) print_kwargs(monday='월',tuesday='화',wednesday='수')
클래스 안에는 크게 두가지가 있는데 속성과 메서드다. 메서드는 무언가 기능을 하는 함수를 말하고 속성은 데이터를 말한다. Person이라는 클래스가 있을 때 이름,나이,직업 등의 정보가 속성이고 자기소개와 같은 기능이 메서드다. 그리고 __init__은 클래스의 속성을 생성한다. 인스턴스 초기화, 다시말해 인스턴스를 만든다. __으로 시작하는 메서드는 파이썬이 자동으로 호출해 주는 함수로 __init__은 클래스 속성 생성자 역할을 한다. 일단 예제 코드를 보자. Person이라는 클래스를 만들고 Steve 인스턴스르 생성했다. class Person(): def __init__(self,name,age,job): self.name = name self.age = age self.job = job Ste..