Python 의 클래스 정의 와 사용 에 대한 자세 한 설명

4858 단어 python종류
말 그대로 하나의 사물 또는 실례 라 고 하 는데 공 통 된 특징 을 가 진 사물 을 묘사 하 는 데 쓰 인 다.우리 가 python 에서 설명 하 는 키 워드 는 class 이 고 클래스 는 기능 과 속성 이 있 습 니 다.속성 은 바로 이런 사물 의 특징 입 니 다.기능 은 바로 그것 이 무엇 을 할 수 있 는 지,즉 방법 이나 함수 입 니 다.우 리 는 여전히 예 를 들 어 문 제 를 설명 한다.
목표:
1.클래스 의 정의
2.부류,부류 정의,부류 호출 부류
3.클래스 의 조합 사용
4.내장 기능
1.클래스 의 정의
코드 는 다음 과 같 습 니 다:

#!/usr/bin/env python
#coding:utf8


class Hotel(object):
  """docstring for Hotel"""
  def __init__(self, room, cf=1.0, br=15):
    self.room = room
    self.cf = cf
    self.br = br

  def cacl_all(self, days=1):
    return (self.room * self.cf + self.br) * days

if __name__ == '__main__':
  stdroom = Hotel(200)
  big_room = Hotel(230, 0.9)
  print stdroom.cacl_all()
  print stdroom.cacl_all(2)
  print big_room.cacl_all()
  print big_room.cacl_all(3)

2.부류,부류 및 부류 호출
코드 는 다음 과 같 습 니 다:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#   
class AddBook(object):
  def __init__(self, name, phone):
    self.name = name
    self.phone = phone

  def get_phone(self):
    return self.phone

#   ,  
class EmplEmail(AddBook):
  def __init__(self, nm, ph, email):
    # AddBook.__init__(self, nm, ph) #        
    super(EmplEmail, self).__init__(nm, ph) #        
    self.email = email

  def get_email(self):
    return self.email

#   
if __name__ == "__main__":
  Detian = AddBook('handetian', '18210413001')
  Meng = AddBook('shaomeng', '18210413002')

  print Detian.get_phone()
  print AddBook.get_phone(Meng)

  alice = EmplEmail('alice', '18210418888', '[email protected]')
  print alice.get_email(), alice.get_phone()

3.클래스 의 조합 사용
코드 는 다음 과 같 습 니 다:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

'''
1.class      
2.  、  、QQ       (     ),     (    )。
3.        
'''

class Info(object):
  def __init__(self, phone, email, qq):
    self.phone = phone
    self.email = email
    self.qq = qq

  def get_phone(self):
    return self.phone

  def update_phone(self, newphone):
    self.phone = newphone
    print "        "

  def get_email(self):
    return self.email


class AddrBook(object):
  '''docstring for AddBook'''
  def __init__(self, name, phone, email, qq):
    self.name = name
    self.info = Info(phone, email, qq)


if __name__ == "__main__":
  Detian = AddrBook('handetian', '18210413001', '[email protected]', '123456')
  print Detian.info.get_phone()
  Detian.info.update_phone(18210413002)
  print Detian.info.get_phone()
  print Detian.info.get_email()

4.내장 기능(함수()더하기 와 더하기 의 차이)
코드 는 다음 과 같 습 니 다:

#!/usr/bin/env python
#coding:utf8

class Books(object):
  def __init__(self, title, author):
    self.title = title
    self.author = author

  def __str__(self):
    return self.title

  def __repr__(self):
    return self.title

  def __call__(self):
    print "%s is written by %s" %(self.title, self.author)


if __name__ == '__main__':
  pybook = Books('Core Python', 'Wesley')
  print pybook
  pybook()


#!/usr/bin/env python
#coding:utf8

class Number(object):
  """Custum object
  add/radd -> +; 
  sub/rsub -> -;
  mul/rmul -> *;
  div/rdiv -> /;
  """
  def __init__(self, number):
    self.number = number

  def __add__(self, other):
    return self.number + other    

  def __radd__(self, other):
    return self.number + other

  def __sub__(self, other):
    return self.number - other

  def __rsub__(self, other):
    return other - self.number


  def __gt__(self, other):
    if self.number > other:
      return True
    return False


if __name__ == '__main__':
  num = Number(10)
  print num + 20
  print 30 + num
  print num - 5
  print 11 - num
  print num > 20
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기