首先,今天是我第一次使用Python.15年前我使用Perl,非常生疏,但渴望学习.我正在尝试将以下行转换为for
循环,使用x
增加ONrelay(所以ONrelay0,ONrelay1,ONrelay3等):
cpi6x.setbit(board1, cpi6x.ONrelay0) time.sleep(.300) cpi6x.setbit(board1, cpi6x.ONrelay1) time.sleep(.300) cpi6x.setbit(board1, cpi6x.ONrelay2) time.sleep(.300) cpi6x.setbit(board1, cpi6x.ONrelay3) time.sleep(.300) cpi6x.setbit(board1, cpi6x.ONrelay4)
我尝试了以下内容,但毫不奇怪它不起作用.
for x in range(0, 5): cpi6x.setbit(board1, cpi6x.ONrelay%d) % (x) time.sleep(.300)
任何帮助将非常感激!
这不会起作用,因为ONrelay
不是字符串,而是实例属性,getattr
而是使用:
for i in range(5): obj = getattr(cpi6x, 'ONrelay{}'.format(i)) cpi6x.setbit(board1, obj) time.sleep(.300)