Kat*_*t.S 5 python string increment
我有一个功能getNextSeqNo().我希望它在调用时增加数字字符串,即0000000000to 0000000001,然后再调用0000000002.我该怎么做?
我写的如下:
def __init__(self) :
self.seq = '0000000000'
def getNextSeqNo(self) :
self.seq = str(int(self.seq) +1)
return(self.seq)
Run Code Online (Sandbox Code Playgroud)
我得到1作为输出而不是0000000001.
您可以将字符串转换为int并使用类似的东西
self.seq = '%010d' % (int(self.seq) + 1)
return self.seq
Run Code Online (Sandbox Code Playgroud)
如果你不需要self.seq成为一个字符串,你可以做
def __init__(self) :
self.seq = 0
def getNextSeqNo(self) :
self.seq += 1
return '%010d' % self.seq
Run Code Online (Sandbox Code Playgroud)
最快捷,最简单,但肯定不是最清楚的:
str(int('9' + self.seq) + 1)[1:]
Run Code Online (Sandbox Code Playgroud)
它的工作原理是在转换为整数之前添加一个前导数字,以保留所有前导零,然后在转换回字符串后剥离该前导数字.它的优点是不需要事先知道需要多少位数.