1. 程式人生 > 實用技巧 >Python學習之關於方法和類

Python學習之關於方法和類

Python 的方法和類

Python 的方法

定義一個python的方法只需要使用def關鍵字,比如:

# 從一個數字列表中選出偶數
def convert1():
    data = [1, 2, 3, 4, 5, 6, 7, 8]
    evens = []
    for num in data:
        if not num % 2:
            evens.append(num)

使用def關鍵字 + 方法名定義一個方法(方法名:函式名稱應小寫,必要時用下劃線分隔單詞,以提高可讀性),使用方法可以增加程式碼組的複用性,以及大大提高程式碼的可讀性,同時可以隔離各程式碼組之間的互相影響。

Python 的類

定義一個python的類,同樣也需要使用關鍵,和定義方法不通,定義一個類是用關鍵字class,比如:

class ReqBase:
    """定義發起請求所需基本資訊獲取類"""
    @staticmethod
    def base_dir() -> str:
        """獲取當前檔案的上上級目錄,並返回當前檔案的絕對路徑"""
        main_flow_dir = dirname(dirname(dirname(abspath(__file__))))
        # print(main_flow_dir)
        return main_flow_dir

類的使用,一般都會和方法一起使用,一個類可以有多個方法,類方法同時提供資料初始化,預設方法__init__方法。

class ApiRequestGray:

    def __init__(self, dirname):
        """
        departure_date:shopping去程時間,往後90天(預設去程和回程按shopping請求順序排列)
        departure_date_delay:shopping回程時間,在去程時間往後7天
        journeys_from_shopping:初始化類屬性
        """
        self.departure_date = datetime.date.today() + datetime.timedelta(days=90)
        self.departure_date_delay = self.departure_date + datetime.timedelta(days=7)
        self.journeys_from_shopping = []
    
    def test_case(self):
      	departure_date = self.departure_date
        departure_date_delay = self.departure_date_delay
        journeys_from_shopping = self.journeys_from_shopping
        

__init__方法中的self.x變數在該類下的方法都可以進行操作和使用。

定義一個類,一般用於組合一組具有共同屬性或者類似的功能作用的多個方法,作為一個模組提供給其他程式碼呼叫。