def split_by_3(self, number):
blocks = ()<EOL>length = len(number)<EOL>if length < <NUM_LIT:3>:<EOL><INDENT>blocks += ((number,),)<EOL><DEDENT>else:<EOL><INDENT>len_of_first_block = length % <NUM_LIT:3><EOL>if len_of_first_block > <NUM_LIT:0>:<EOL><INDENT>first_block = number[<NUM_LIT:0>:len_of_first_block],<EOL>blocks += first_block,<EOL><DEDENT>for i in range(len_of_first_block, length, <NUM_LIT:3>):<EOL><INDENT>next_block = (number[i:i + <NUM_LIT:3>],),<EOL>blocks += next_block<EOL><DEDENT><DEDENT>return blocks<EOL>
starting here, it groups the number by three from the tail
'1234567' -> (('1',),('234',),('567',))
:param number:str
:rtype:tuple