关于 \t 水平制表符 Horizontal Tab (TAB)
今天在学learn python the hard way ex26修改的时候,有一个关于\t的问题,下面分别为代码以及输出结果:
1 poem = """
2 \tThe lovely world
3 with logic so firmly planted
4 cannot discern \n the needs of love
5 nor comprehend \tpassion from intuition
6 and requires an explantion
7 \n\t\twhere there is none.
8 """
9
10
11 print "--------------"
12 print poem
13 print "--------------"
-------------- The lovely world
with logic so firmly planted
cannot discern
the needs of love
nor comprehend passion from intuition
and requires an explantion where there is none. --------------
可以看到,第二行的 \t 以及第七行的两个\t 都分别'缩进'了八个字符,而第七行的 \t 只'缩进'了一个字符,那么 \t 到底是多少个字符呢(其实这个说法不对)?
为了搞明白这个问题,测试的代码如下:
1 print """
2 12345678901234567890123456789012345678901
3 \t9\t789\t5\t\t1
4 1234567\t9
5 12345678\t7
6 """
第二行的数字是为了方便计算字符数的参考,运行结果如下:
12345678901234567890123456789012345678901
9 789 5 1
1234567 9
12345678 7
可以看到line3 的前三个 \t 分别为八个、七个、五个字符,而 line4 line5 的为一个和八个字符
其实到这里(虽然我还测试了一下其他的代码,但是我直接改成上面的代码了没保存,懒的再打了)可以大致猜测一下, \t 应该是八个字符为一个循环,每个 \t 即代表当前八个字符的单元已经ok,然后进入下一串八个字符的单元
所以line3 后面两个\t 应该分别缩进了七个和八个字符,这也可以解释之前代码中 \t 为什么只'缩进'了一个字符。
总结:
\t 其实代表当前八个字符的单元结束,进入到下一个八个字符的单元中。
关于 \t 水平制表符 Horizontal Tab (TAB)的更多相关文章
- 对C标准中空白字符(空格、回车符(\r)、换行符(\n)、水平制表符(\t)、垂直制表符(\v)、换页符(\f))的理解
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] C标准库里<ctype.h>中声明了一个函数: int isspace(int c); 该函数判断字符c是否 ...
- (七)对话框,单选框(radiobox),复选框(checkbox),列表框(ListBox),组合框(CComboBox),水平滚动条(Horizontal scroll bar),微调(旋转)spincontrol,列表视图控件CListCtrl,静态控件static
1,模态对话框和非模态对话框 // 模态对话框 void CMainFrame::OnDialogExec() { // TODO: 在此添加命令处理程序代码 // 创建对话框对象 CDialog d ...
- (转载)SQL去除回车符,换行符,空格和水平制表符
http://www.cnblogs.com/insus/p/4815336.html MS SQL去除回车符,换行符,空格和水平制表符,参考下面语句,一般情况是SQL接受富文本或是textarea的 ...
- SQL去除回车符,换行符,空格和水平制表符
MS SQL去除回车符,换行符,空格和水平制表符,参考下面语句,一般情况是SQL接受富文本或是textarea的内容.在数据库接收到这些数据之后,还是对其做一些处理. ),),),''),' ','' ...
- java去除字符串的空格,换行符,水平制表符,回车
final private String stringTrimAll(final String input) { if (null == input) return ""; // ...
- MySQL去除表里数据回车符,换行符,空格和水平制表符
MySQL去除表里数据回车符,换行符,空格和水平制表符 最近导数据的时候发现表里有好多回车符,换行符,水平制表符,MySQL的trim函数没办法去掉回车和换行,只能去掉多余的空格,可以用MySQL的r ...
- tab+tab
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- printf()函数中\t,水平制表符,空格的个数
在控制台输出数据的时候,也就是用printf()的时候,我们经常用\t来控制对齐,以使输出的结果更加整齐美观. 然而有时候我们发现及时使用了\t 也会出现数据对不齐的情况,这就跟\t究竟对应几个空格有 ...
- 【转】 awk 学习笔记
本文参考的是 ubuntu 下 gawk version 3.1.6 以及 <sed&awk> 一 . awk 简介 awk 是一种解释型(tawk除外)文本处理语言 二 . aw ...
随机推荐
- tomcat 禁用access.log
修改 server.xml 注释掉,如: <!-- Access log processes all example. Documentation at: /docs/config/valve. ...
- TRIZ系列-创新原理-25-自服务原理
自服务原理的详细表述例如以下:1)物体在实施辅助和维修操作时.必须能自我服务:2)利用废弃的材料和能量: 自服务原理的第1)个比較好理解,假设一个系统在执行过程中须要进行辅助和维护操作时,最好不要借助 ...
- .NET 垃圾回收机制要点整理
1. .NET资源分托管资源和非托管资源,对于托管资源,.NET GC可以很好的回收无用的垃圾,而对于非托管(例如文件访问,网络访问等)需要手动清理垃圾(显式释放). 2. 非托管资源的释放,.NET ...
- 19、java内存分配 常量池详解
在class文件中,“常量池”是最复杂也最值得关注的内容. Java是一种动态连接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int.long等等)和对象型(如Stri ...
- m2a-vm超频的方法
m2a-vm超频的方法 此帖对"华硕超频俱乐部"的评论 要超频的话,bios要进行相应的设置, 1.jumperfree选项下 cpu multiplier 改cpu的倍频 ...
- HDUOJ----2512一卡通大冒险
一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- Interface_GL通过gl_interface导入日记账(案例)
2014-06-17 BaoXinjian
- 迪杰斯特拉Dijkstra算法介绍
迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径. 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止. 基本思想 通过Dijk ...
- 兔子--eclipse设置编码格式
设置编码格式 a:设置eclipse的默认编码格式:window->preferences->Workspace->Text File Encoding b:设置单个项目的编码格式: ...
- Python 字典 in 操作符
描述 Python 字典 in 操作符用于判断键(key)是否存在于字典(D)中,如果键在字典中返回True,否则返回False. 在Python2中还可以使用 has_key() 方法,官方文档推荐 ...