我有一段代码,在其中我调用了带有字符串值参数的函数。字符串值是使用索引从字符串数组中获取的。
#import threading
'''
your code
'''
# loop_1
def loop1():
for i in range(100):
pyautogui.press('enter', interval=0.01)
# loop_2
def loop2(loops):
for x in range(loops):
pyautogui.press('enter', interval=0.01)
pyautogui.typewrite(text, times)
pyautogui.press('enter')
pyautogui.typewrite(text, times)
pyautogui.press('enter')
# Create two threads as follows
# target = executed function, args = parameter to be passed
t1 = threading.Thread(target=loop1, args=())
t2 = threading.Thread(target=loop2, args=(loops,))
# starting thread 1
t1.start()
# starting thread 2
t2.start()
# Now loop1 and loop2 are keep being executed
# Use join() to stop execution of current program until both loops are complete
# wait until thread 1 is completely executed
t1.join()
# wait until thread 2 is completely executed
t2.join()
在这种情况下,0是否仍被视为幻数?我应该将0抽象为>>> from functools import reduce
>>> def multiply(x, y):
... return x * y
>>> L = [[0.9, 0.7] ,[0.5, 0.6], [1.1, 1.2]]
>>> sum([reduce(multiply, item) for item in zip(*L)])
0.9990000000000001
这样的变量吗?函数名称是否不够清楚,以至于该值将是拒绝类别?
请让我知道您的想法。
答案 0 :(得分:1)
通常,将每个数值提取为常数是一个坏习惯。您必须与生活中的所有事物保持平衡。显然,您想验证rejectionData
的第一个元素。 0
,1
,2
的大多数用法不是魔术,而是在算法中使用的。
您通常希望提取在代码上下文中不容易解释的数值。
例如如果您的代码在某些类似主文件中看起来像这样:
app.modalTimeooutSeconds = 3.0
将其重写为
let timeoutSeconds = 3.0
app.modalTimeoutSeconds = timeoutSeconds
除非您希望拥有一个用于存储常量的配置文件,但是您可能没有足够的常量来支持拥有这样的文件。
一切都取决于上下文,没有好的答案。