Python制表符\t的原理、制表符的使用

文章目录

  • 一、代码缩进
  • 二、数据对齐(重点)
  • 2.1、制表符对齐原理
  • 三、总结
  • ‌在Python中,制表符(\t)的主要作用包括
    代码缩进
    数据对齐。‌‌

    制表符(\t)在Python中用于插入一个制表符,这个制表符在Cmd中通常占据8个空格的宽度;在Pycharm中通常占4个空格的宽度。具体参考《python pycharm与cmd中制表符不一样》

    一、代码缩进

    在Python中,制表符常用于代码段的缩进,以提高代码的可读性和可维护性。通过使用制表符进行缩进,可以使代码结构更加清晰,便于阅读和维护。

    ‌在Python中,制表符\t和Tab键是同一个概念,没有区别。‌制表符是通过按下键盘上的Tab键来输入的,Tab键通常位于键盘上方的Q键和Caps Lock键之间,外观类似于一个带有箭头的矩形图标‌

    def test():
    	#用Tab键缩进,使每个层级有四个空格
        print("hello")
        for i in range(10):
            print(i)
    

    如上图,test函数下面的每行代码前面都可以用Tab键缩进,表示四个空格。这使代码更易于阅读和理解。

    二、数据对齐(重点)

    制表符还可以用于将数据列对齐,以创建整齐的表格。例如:

    print('姓名\t年龄\t职业')
    print('张三\t25\t程序员')
    print('李四\t300\t收银员')
    
    # 输出结果
    D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py 
    姓名	年龄	职业
    张三	25	    程序员
    李四	300	    收银员
    


    从上图可以看到制表符\t会自动对齐文本。

    注意:

    print('姓名\t年龄\t职业')
    print('张三\t25\t程序员')
    print('李四\t3000\t收银员')
    
    # 运行结果:
    D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py 
    姓名	年龄	职业
    张三	25	程序员
    李四	3000	收银员
    

    如下图:代码中仅仅是年龄多了一个数字,上下两行就对不齐了

    那么原理是什么呢?为什么仅仅差了一个数字,就不能对齐了呢?

    2.1、制表符对齐原理

    制表符对齐的原理是什么呢?为什么可以实现自动对齐呢?我搜了下没找到官方的文档说明,那么结合下面示例,说一下自己的理解。

    先给出自己的理解:Pycharm中制表符(\t)前面的字符所占宽度必须是4的倍数,若不是4的倍数,则补充空格到4的倍数。若制表符(\t)前面的字符所占宽度是4的倍数,则生成4个空格。

    print('123\t456789')
    print('1234\t56789')
    print('12345\t6789')
    print('123456\t789')
    print('1234567\t89')
    print('12345678\t9')
    
    #输出内容:
    D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py 
    123	456789 # 前面3个数字只占了3个宽度,所以\t补充了一个空格
    1234	56789 #当数字占空格数量为4个时,他就会仍外开辟出新的空间(4个空格)
    12345	6789 # 前面5个数字只占了5个宽度,所以\t补充了三个空格
    123456	789
    1234567	89
    12345678	9 #当数字占空格数量为8个时,他就会仍外开辟出新的空间(4个空格)
    


    如上图,每当数字占满4个或4的倍数时,就会生成4个空格;当制表符(\t)前面的字符宽度不是4的倍数时,则补充空格到4的倍数。结合上面的示例我们推测:Pycharm中制表符(\t)前面的字符所占宽度必须是4的倍数,若不是4的倍数,则补充空格到4的倍数。若制表符(\t)前面的字符所占宽度是4的倍数,则生成4个空格。

    三、总结

    Pycharm中制表符(\t)前面的字符所占宽度必须是4的倍数,若不是4的倍数,则补充空格到4的倍数。若制表符(\t)前面的字符所占宽度是4的倍数,则生成4个空格。

    因为Pycharm与Cmd制表符的宽度不一致, 制表符(\t)在Cmd中通常占据8个空格的宽度;在Pycharm中通常占4个空格的宽度。所以在cmd中就是满8的倍数,然后会生成8个空格。

    代码示例如下:

    C:\Users>python
    Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> str='123\t456789\n'
    >>> str+='1234\t56789\n'
    >>> str+='12345\t6789\n'
    >>> str+='123456\t789\n'
    >>> str+='1234567\t89\n'
    >>> str+='12345678\t9\n'
    >>> print(str)
    123     456789
    1234    56789
    12345   6789
    123456  789
    1234567 89
    12345678        9
    

    作者:五月天的尾巴

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python制表符\t的原理、制表符的使用

    发表回复