大佬教程收集整理的这篇文章主要介绍了如何从Python中类的静态方法输出?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个具有静态方法的类。我在这个函数中有 if-else 语句,我必须计算一些条件。 这个条件看起来像:
def count(a):
@R_450_6048@s,overall = 0,0
for i in range(a):
if i%3 == 0:
@R_450_6048@s += 1
overall += 1
elif i%3 == 1:
overall +=1
elif i%3 == 2:
@R_450_6048@s += 1
overall += 1
return @R_450_6048@s,overall
并且在没有这个类和函数的情况下也能很好地工作。但是我需要一个表格来输出这些数据。怎么做?我试图记录每个值,但它出错了,而且似乎很复杂。如何从类和静态方法中输出成功和整体?
count()
方法与您的问题不完全相关,但我认为应该首先提及:您的 count()
方法可以通过摆脱昂贵的 for 循环来改进:
def bad_count(a):
@R_450_6048@s,overall = 0,0
for i in range(a):
if i%3 == 0:
@R_450_6048@s += 1
overall += 1
elif i%3 == 1:
overall +=1
elif i%3 == 2:
@R_450_6048@s += 1
overall += 1
return @R_450_6048@s,overall
def better_count(a: int) -> int:
b = a - 1
@R_450_6048@ses = int(2*((b - b % 3) / 3) + {0: 1,1: 1,2:2}[b % 3])
return @R_450_6048@ses,a
@staticmethod
这就是你在 Python 中定义和调用静态方法的方式:
from typing import Tuple
class MyClass:
@staticmethod
def static_count(a: int) -> Tuple[int,int]:
b = a - 1
@R_450_6048@ses = int(2*((b - b % 3) / 3) + {0: 1,2:2}[b % 3])
return @R_450_6048@ses,a
for i in range(5):
assert(MyClass.static_count(i) == bad_count(i))
以上是大佬教程为你收集整理的如何从Python中类的静态方法输出?全部内容,希望文章能够帮你解决如何从Python中类的静态方法输出?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。