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
变量在该类下的方法都可以进行操作和使用。
定义一个类,一般用于组合一组具有共同属性或者类似的功能作用的多个方法,作为一个模块提供给其他代码调用。