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变量在该类下的方法都可以进行操作和使用。

定义一个类,一般用于组合一组具有共同属性或者类似的功能作用的多个方法,作为一个模块提供给其他代码调用。

上一篇:codeforces 1439 C. Greedy Shopping (线段树 + 二分)


下一篇:购物车代码(学习版,很多地方需要优化)