在本章中,我将引导您了解 OOP 用于构建损益计算器的内容和原因。在本 Python 教程结束时,您可以掌握如何编写 Python 编码脚本来构建适合您的业务模型的计算器。
目录:轮廓边距计算器
- 什么是 OOP——面向对象编程
- 方法:跨境电商利润率计算器算法
- SKU 利润率计算器的 Python OPP 编码
- Flask 脚本 – HTML、CSS 和 Python
- 电子商务损益计算器的完整Python脚本
什么是 OOP——面向对象编程
面向对象编程(OOP)是一种依赖于类和对象概念的编程范式。您可以使用它将软件程序构建为简单的、可重用的代码蓝图片段,我们通常将其称为类。在类中,您可以创建对象的单独实例。
OOP 基本上由父类(可以有子类)、类属性和方法(这是函数,但 OOP 将它们称为方法)组成。
以电子商务损益计算器为例。电子商务有不同类型的商业模式或销售不同的产品类别。有国内、跨境、一件代发、B2B批发等。每种类型的电商业务都可以是一个对象的具体实例。应该需要不同的计算算法和属性值。这是因为可变成本项目会略有不同。然而,无论哪种类型的电子商务,它都应该具有一些影响利润率的通用属性。
利润率属性是:
- 到岸成本(包括每单位产品成本,加上国际运费和关税(如果是跨境电商)
- 履行成本
- 付款处理费用
- 退款费用
- 每次销售成本
- 折扣成本
- SKU 价格
在 OOP 中,类的概念是基础。每个类都由属性和方法组成。然后,它可以使用此类拥有不同的对象。电子商务损益计算器中的每个对象都可以代表您的商业模式。换句话说,所有对象都使用相同的父类,但是局部属性值和方法不同。
例如,国内电子商务损益表可能没有国际运输成本。所以跨境电商的到岸成本值会有所不同。
如果您想了解有关电子商务可变成本的更多详细信息,请查看这篇文章
方法:跨境电商利润率计算器算法
计算算法是计算器的关键组成部分。这是因为两个原因。第一个原因是您绝对希望有正确的SKU利润率计算作为参考。然后,第二个原因是您希望确保用户清楚她或他应该在计算器上输入什么数据和数据格式。有时,如果您的计算器旨在帮助用户找出具有更复杂因子的数字,那么它可能会非常复杂。
例如,一般情况下,利润率公式为(SKU价格-销售成本)/SKU价格。您可以尝试将销售成本分解为到岸成本、履行成本、退款成本、付款处理成本、CPS 和折扣成本。根据计算器的对象,如有必要,您可以进一步细分,例如,它要求用户输入履行成本的重量、尺寸和目的地。或者这里我以退款率输入为例来展示算法
与属性值连接的对象算法为:
(SKU price - landed cost - fulfillment cost - (refund rate * fulfillment cost * 2) - payment processing cost - discount rate * SKU price - CPS) / SKU price
SKU 利润率计算器的 Python OOP 编码
我在这个Python OOP中以跨境电商盈亏计算器作为父类。现在属性范围和计算算法已经准备好了。以下是计算器核心引擎的编码。
在Python OOP中,第一件事是创建父类。在这个类中,有三个基本组成部分。它们是_init__ attribute
、属性关联和方法定义。
_init__ 属性
这是类的自默认对象和方法。我们需要通过在__init__( )
的位置参数中添加所有属性来定义默认方法。由于我们在构建跨境电商损益计算器,属性项就是与该模型相关的价格和可变成本。
def __init__(
self,
landedCost,
shippingCost,
paymentCost,
refundCost,
CPA,
discount,
price
):
分配给自体客体
自对象已准备就绪,因此您可以创建可与位置参数中的属性关联的变量。因此,您可以开始使用该对象中所有方法的变量。
self.landedCost = landedCost
self.shippingCost = shippingCost
self.paymentCost = paymentCost
self.refundCost = refundCost
self.CPA = CPA
self.discount = discount
self.price = price
Define the P&L calculator algorithm method
OOP对象是在输入SKU属性值后计算利润率。所以我们需要在这个类中嵌入一个算法。为此,我们可以使用 def 创建一个方法,位置参数可以是 self。
def calculate_profitmargin(self):
return (self.price - self.landedCost - self.shippingCost - self.price * self.paymentCost - self.shippingCost * 2 * self.refundCost - self.CPA - self.discount * self.price) / self.price
如前所述,计算算法根据实际需要而有所不同。因此,您可以在该类中定义更多的算法方法,例如您可以设置另一种用AOV替换SKU价格的算法方法。
烧瓶脚本
Flask 是一个朋友且功能强大的 Web 应用程序构建器,可以与您的编程脚本集成,例如 Python、HTML、CSS、PHP 等。如果您想了解有关如何安装、设置和使用它来构建和测试的更多详细信息Python Web 应用程序,请查看这篇文章
在计算器应用程序的 Flask 脚本中,您需要注意两件主要事情。它们是 Python 脚本和 HTML 脚本。
Flask 脚本中的 Python 脚本
这里的Python脚本需要连接前端html表,用于收集属性值。同时,它需要通过从html页面输入收集的数据来与OOP计算器算法连接。其中最重要的一点就是位置参数,请正确匹配输入数据变量和位置参数,以避免计算出现错误结果
自我客体:
profitMargin1 = item(landedCost1, shippingCost1, paymentCost1, refundCost1, CPA1, discount1, price1)
指定计算算法
result = "{:.2%}".format(round(profitMargin1.calculate_profitmargin(), 2))
您可能会注意到,我们将计算结果转换为百分比数字。这是因为calculate_profitmargin
的结果是一个浮点数。这将创造更好的用户体验
将输入值保留在结果页面中
用户希望仔细检查他们在生成结果的框中输入的数字。因此,如果您想创造更好的用户体验,保留输入值非常重要。因此,在返回中,我们除了选择html页面的模板之外,还需要添加这些参数。
return render_template("result.html", price1=price1, landedCost1=landedCost1, shippingCost1=shippingCost1, paymentCost1=paymentCost1, refundCost1=refundCost1, CPA1=CPA1, discount1=discount1, result=result)
HTML 模板页面
Html 页面是向用户展示计算器布局和设计以及交互块的前端。我将发布另一篇关于如何使用 html 和 CSS 构建和装饰网页的文章。但在此应用程序中,关键是您需要确保所有收集的数据都可以与正确的位置参数相关。否则计算结果可能错误
因此,正如您所看到的,每个输入框都有一个相关的名称元素,该元素与您用于计算利润率的变量的相同名称连接。
电子商务损益计算器的完整Python脚本
如果您对电子商务损益计算器的完整脚本感兴趣,请添加消息“第 33 章”来订阅我们的时事通讯。我们会立即将脚本发送到您的邮箱。
我希望您喜欢阅读第 33 章:使用 OOP 创建电子商务利润率计算器。如果您这样做了,请通过执行下列操作之一来支持我们,因为这总是对我们的频道有所帮助。
- 通过 PayPal ( paypal.me/Easy2digital ) 支持并捐赠我们的频道
- 订阅我的频道并打开通知铃Easy2Digital Youtube 频道。
- 关注并喜欢我的页面Easy2Digital Facebook 页面
- 使用主题标签 #easy2digital 在您的社交网络上分享文章
- 使用 Easy2Digital 10% OFF 折扣代码购买产品 ( Easy2DigitalNewBuyers2021)
- 您订阅我们的每周通讯即可接收 Easy2Digital 最新文章、视频和折扣代码
- 通过 Patreon 订阅我们的月度会员即可享受独家优惠 ( www.patreon.com/louisludigital )