python封装静态函数linear search

来源:2-3 实现线性查找法

讲武德的年轻人

2021-06-23 22:22:25

您好,老师,我刚刚学python及其面向过程。 我简单编写了类和静态方法

相关代码:

class Math:

@staticmethod
def LinSearch(data, target):
for i in range(len(data)):
if data[i] == target:
return i
return "No target was found!"


我的理解是,之所以用静态方法,是想把LinSearch封装到一个更大的class里去?这样方便调用吧。我验证了这个class, 应该没问题:

相关代码:

arr = [34, 3, 4, 16, 3, 44]
target = 16

输出是

相关代码:

Math.LinSearch(data,target)
3

谢谢您!

写回答

1回答

liuyubobobo

2021-06-24

使用 @staticmethod 是没有问题的。


但其实,对于 Python 来说,由于本身支持 free function(即不在任何一个类中的 function),所以,不把算法封装在类中是没有问题的。而在 Java 中,由于只支持面向对象的编程范式,任何一个函数必须处在一个类中,所以对于算法来说,封装在类的静态方法中更合适:)


继续加油!:)

0

算法与数据结构

波波老师5年集大成之作,算法与数据结构系统学习,考试、面试、竞赛通用

2603 学习 · 1086 问题

查看课程

相似问题