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 中,由于只支持面向对象的编程范式,任何一个函数必须处在一个类中,所以对于算法来说,封装在类的静态方法中更合适:)
继续加油!:)
相似问题