python 기초 강좌의 대상과 클래스의 실제 활용

3077 단어
우리는 대상과 유형의 기본 개념을 익혔다.우리는 실제적으로 대상과 유형을 운용할 수 있도록 한층 더 확대할 것이다.
호출 클래스에 대한 추가 정보
앞에서 언급한 바와 같이 방법을 정의할 때는self라는 매개 변수가 있어야 한다.이 매개 변수는 어떤 대상을 표시한다.대상은 클래스의 모든 성질을 가지고 있기 때문에 우리는self를 통해 클래스 속성을 호출할 수 있다.
 
  
class Human(object):
    laugh = 'hahahaha'
    def show_laugh(self):
        print self.laugh
    def laugh_100th(self):
        for i in range(100):
            self.show_laugh()

li_lei = Human()         
li_lei.laugh_100th()


여기에 클래스 속성laugh가 있습니다.메서드에서 Showlaugh () 에서self를 통과합니다.laugh, 이 속성의 값을 호출했습니다.
같은 방식으로 다른 방법을 호출할 수도 있다.메서드 쇼laugh (), 방법에서 laugh100th에서 () 호출되었습니다.
객체를 통해 클래스 속성 값을 수정할 수 있습니다.하지만 위험합니다.클래스 속성은 모든 같은 클래스와 하위 클래스의 대상에 의해 공유됩니다.클래스 속성 값의 변경은 모든 대상에게 영향을 줄 수 있습니다.
__init__() 방법
__init__()는 특수 방법(special method)입니다.파이톤에는 특별한 방법이 있습니다.파이톤은 그들을 특별히 대할 것이다.특수한 방법의 특징은 이름 앞뒤에 두 개의 밑줄이 있다는 것이다.
클래스에서 을 정의했다면init__() 이 방법은 객체를 만들 때 Python에서 자동으로 호출됩니다.이 과정도 초기화라고 한다.
 
  
class happyBird(Bird):
    def __init__(self,more_words):
        print 'We are happy birds.',more_words

summer = happyBird('Happy,Happy!')


여기에 Bird 클래스가 상속되어 있으며, 그 정의는 이전 설명서에 나와 있습니다.
화면에서 인쇄하기
 
  
We are happy birds.Happy,Happy!

비록 우리는summer 대상을 만들었을 뿐이지만init__() 방법이 자동으로 호출되었습니다.마지막 줄의 문구(summer = happy Bird...)먼저 객체를 작성한 후 다음을 수행합니다.
 
  
summer.__init__(more_words)

'Happy,Happy!' __init__() more_words


대상의 성질
우리는 많은 속성을 이야기했지만, 이러한 속성은 클래스의 속성이다.이러한 속성은 클래스에 속하는 모든 객체가 공유합니다.예를 들어 새는 깃털이 있고 닭은 날지 못한다.
일부 상황에서 우리는 대상의 성질을 정의하여 그 대상의 특별한 정보를 기록하는 데 사용한다.예를 들면, 사람과 같은 종류.성별은 어떤 사람의 한 성질이다. 모든 인류가 남자이거나 여자인 것은 아니다.이 성질의 값은 대상에 따라 다르다.이레는 인류의 대상이고 성별은 남자이다.한미미도 인간의 대상이고 성별은 여자다.
클래스를 정의할 때,self의 매개 변수를 전달해야 합니다.이 매개 변수는 클래스의 한 대상을 가리킨다.우리는 self를 조종해서 어떤 대상의 성질을 수정할 수 있다.예를 들어 클래스로 새 대상을 만듭니다. 즉, 다음 예에서 lilei, 그럼 리lei는 셀프에 의해 표시된다.우리는 self에 값을 부여합니다.attribute, li 에게lei라는 대상은 성별의 남녀와 같은 성질을 증가시킨다.self는 각 방법에 전달된다.방법 내부에서self를 인용할 수 있습니다.attribute, 조회 또는 수정 대상의 성질입니다.
이렇게 하면 유형 속성 외에 모든 대상에게 각자의 특색을 더해 다양한 세계를 묘사할 수 있다.
 
  
class Human(object):
    def __init__(self, input_gender):
        self.gender = input_gender
    def printGender(self):
        print self.gender

li_lei = Human('male') # ,'male' __init__() input_gender 。
print li_lei.gender
li_lei.printGender()


초기화 중 인자 inputgender, 대상에게 값을 부여하는 성질, 즉self.gender.
li_lei는 대상 성질의gender를 가지고 있다.gender는 클래스 속성이 아닙니다.파이톤이 리 를 세우고 있어요.lei라는 대상을 사용한 후 리lei.gender라는 대상 성질, 전문적으로 대상에 저장lilei의 특유의 정보.
대상의 성질도 다른 방법으로 호출할 수 있습니다. 호출 방법은 클래스 속성의 호출과 비슷합니다. 예를 들어 printGender () 방법에서 호출된 것과 같습니다.
총결산
self를 통해 클래스 속성 호출
__init__(): 객체를 만들 때 자동으로 수행
클래스 속성과 대상의 성질의 차이

좋은 웹페이지 즐겨찾기