程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何从Python中类的静态方法输出?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何从Python中类的静态方法输出??

开发过程中遇到如何从Python中类的静态方法输出?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何从Python中类的静态方法输出?的解决方法建议,希望对你解决如何从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,请注明来意。
标签: