小编Geo*_*ten的帖子

Python:如何停止一个函数?

例如:

def main():
    if something == True:
        player()
    elif something_else == True:
        computer()

def player():
    # do something here
    check_winner()  # check something 
    computer()  # let the computer do something

def check_winner(): 
    check something
    if someone wins:
        end()   


def computer():
    # do something here
    check_winner() # check something
    player() # go back to player function


def end():
    if condition:
        # the player wants to play again:
        main()
    elif not condition:
        # the player doesn't want to play again:
        # stop …
Run Code Online (Sandbox Code Playgroud)

python function

21
推荐指数
3
解决办法
13万
查看次数

测试元组是否仅包含Python的None值

我需要找到我的元组是否只包含None值.

我使用这段代码,但我不确定这是好的做法:

# coding=utf8

def isOnlyNoneValuesTuple(t):
    """
    test if tuple contains only None values
    """
    if not len(tuple(itertools.ifilter(None, t))):
        return True
    else:
        return False

print isOnlyNoneValuesTuple((None,None,None,None,None,None,None,None,None,None,None,None,))
print isOnlyNoneValuesTuple((None,None,None,"val",None,None,None,None,))
Run Code Online (Sandbox Code Playgroud)

你知道其他好的做法来测试它吗?

谢谢你的意见

python tuples python-2.7 nonetype

3
推荐指数
1
解决办法
5411
查看次数

python绝对导入函数

trend.py和test_trend.py位于同一文件夹中.我有一个带有函数find_regres_values的类Trend,它是从实例方法perform_analysis调用的.

trend.py:

class Trend:
    def __init__(self, values, trend_type):
        self.all_values = values

    def permorn_analysis(self, first, trend_type):
        #blabla
        vals_reg = ["a", "b", "c", "d"]
        find_regres_values(vals_reg, first, trend_type)

    def find_regres_values(vals_reg, first, trend_type):
        #do somethin
        pass
Run Code Online (Sandbox Code Playgroud)

在test_trend.py中

from trend import find_regres_values
class ConsecRegions(unittest.TestCase):

    def test_find_regres_values_decreas_min_before_max(self):
        #initialize some values
        output = find_regres_values(vals_reg, first, trend_type)
        self.assertEqual(output, result)
Run Code Online (Sandbox Code Playgroud)

它显示了一个错误:

  File "test_trend.py", line 2, in <module>
    from trend import find_regres_values
ImportError: cannot import name find_regres_values
Run Code Online (Sandbox Code Playgroud)

如何导入一个功能进行测试?

python

0
推荐指数
1
解决办法
56
查看次数

标签 统计

python ×3

function ×1

nonetype ×1

python-2.7 ×1

tuples ×1