#Python学習入門から放棄(四)--クラスとモジュールの基礎知識

7006 ワード

Python学習入門から放棄(四)-クラスとモジュールの基礎知識
クラス#クラス#
最も簡単なクラスの定義は、このようなものかもしれません.
class   :

    def    1(self,   ...)
           
    ...
        =    
    ...

クラスを作成するオブジェクトは
    =   ()

このselfはオブジェクト自体を指し、オブジェクトメソッドを呼び出す必要がある場合に使用できます.
   .   (  ...)

コンストラクション関数と解構関数
C言語の構造や解構関数と同様に、クラスのオブジェクトを作成するときに、より多くのパラメータを追加できます.
#     
def __init__(self,   ...)
         

#     
def __del__(self,   ...)
         

たとえば
#     
class goods:

    name = ''
    price = 0

    def __init__(self, name, price):
        self.name = name
        self.price = price

    def __del__(self):
        print('delete the goods')

#             
pen = goods('pen', 5.9)
#             
del(pen)

メソッドとプロパティ
たとえば
class goods:

    name = ''
    price = 0
    inventory = 0

    def __init__(self, name, price, inventory):
        self.name = name
        self.price = price
        self.inventory = inventory

    def __del__(self):
        print('delete the goods')

    def sell(self, numbers):
        remained = self.inventory - numbers
        if remained > 0:
            self.inventory = remained
            return self.price * intnumbers
        else: #     
            print('    ')

#     
pen = goods('pen', 5.9, 100)
#   50 pen
pen.sell(50) #   295.0,  inventory   50
print(pen.inventory) #     50

ここでname、price、inventoryはいずれもこのクラスの属性であり、オブジェクト名を通過する.属性名の方式で呼び出すsell()はこのクラスの1つの方法で、オブジェクト名を通じて.メソッド名(パラメータ)で呼び出す
継承
基本構文
class   (  , ...):
        

たとえば
class freshCommodities(goods):

    productionDate = '' #     

    def __init__(self, name, price, inventory, productionDate):
        super(freshCommodities, self).__init__(name, price, inventory) #          
        self.productionDate = productionDate

    def sell(self, numbers):
        if self.productionDate > '20171102': #     ,        Python   date         
            return goods.sell(self, numbers) #                     ,         self           self     
        else:
            print('     ,    ')

fish = freshCommodities('fish', 10, 100, '20171103')
fish.sell(50)

モジュールベース
C言語のライブラリ、Javaのモジュール概念と似ています.基本構文:

import    
import     as    #            

from     import     
from     import * #       

呼び出す場合、使用方法はimport構文によって異なります.例えばPythonは、正規表現を処理するためのreモジュールを提供し、関数sub(検索するコンテンツ、置換するコンテンツ、ソース文字列)があります.この例で説明します.
import re
re.sub('p', 'P', 'Hello Python') #         

import re as reg
reg.sub('p', 'P', 'Hello Python') #       

from re import *
sub('p', 'P', 'Hello Python') #