Pycharm的控制台输出制表符(‘\t’)的长度,是根据该行前面的字符串长度来判定的。
声明:制表符默认显示为4个长度单位(长度单位以单个英文显示长度为标准)
长度:即length属性
显示长度:即输出在控制台的长度
由于中文和西文的显示长度不同,(比如len(‘123’) == len(‘一二三’)),但是控制台上显示长度不同,所以分开说。
以下内容针对西文字符串:
如果前面字符串长度为4的倍数,则制表符正常显示长度;否则将前面字符串补全为4的倍数,这个补全即为制表符显示长度。
字符串’1234’长度为4,所以输出正常长度的制表符,运行对照组可知,制表符长度为4。
字符串‘12345’长度为为5,所以输出长度为3的制表符。
同理,字符串‘123’和‘12’分别输出长度为1和2的制表符。
以下内容针对中文字符串:
中文和英文在length属性相同的情况下,显示长度不同。
目测换算标准:5个汉字=8个英文=2个制表符。可知,1个汉字占用1.6个英文字符显示长度。
所以字符串’aaa’(长度为3)和‘哈哈’(长度为3.2)后面输出长度为1和0.8的制表符。
字符串‘哈哈哈’(长度为4.8)后面输出长度为3.2的制表符。
同理,字符串‘哈哈哈哈’和‘哈哈哈哈哈’分别输出长度为1.6和4的制表符。