我有以下代码:
from sys import stdin
import re
def main():
def hidden1_test(): return hidden1('test')
def hidden2_test(): return hidden2('test')
tasks = [dna, sorted, hidden1_test, hidden2_test, equation, parentheses, sorted3]
print('Skriv in teststrängar:')
while True:
line = stdin.readline().rstrip('\r\n')
if line == '': break
for task in tasks:
result = '' if re.search(task(), line) else 'INTE '
print('%s(): "%s" matchar %suttrycket "%s"' % (task.__name__, line, result, task()))
if __name__ == '__main__': main()
列表任务中的函数在上面定义,但它们对我的问题并不重要。我了解 main 函数的整个运行,直到最后两行:
result = '' if re.search(task(), line) else 'INTE '
print('%s(): "%s" matchar %suttrycket "%s"' % (task.__name__, line, result, task()))
我不明白什么task.__name__
意思。名字必须是__name__ == '__main__'
这样,我想我的问题变成了什么task.'__main__'
意思(如果我错了,请纠正我)?我将上述两行的第一行解释为:
result = ''
if re.search(task(), line):
else:
'INTE '
我知道这是不对的,因为 if 语句下没有任何内容,但我不知道如何测试代码以了解它的含义。我只是想更好地理解,所以对不是非常高级的程序员的人的解释会很好
提前致谢!