一、使用制表符或换行符来添加空白
在编程中,空白指任何非打印字符,如空格,制表符和换行符。你可使用空白来组织输出,以使其更易读。
要在字符串中添加制表符,可以使用字符组合\t,如下代码:
>>> print ("Python") Python >>> print ("\tPython") Python >>>
要在字符串中添加换行符,可以使用字符\n;如下:
>>> print ("yankerp:\nPython\nyankerp\ncsdn") yankerp: Python yankerp csdn >>>
还可在同一个字符串中同时包含制表符和换行符。字符串”\n\t” 让Python换到下一行,并在下一行开头添加一个制表符。下面的示例演示了如何使用一个单行字符串来生成四行如下:
>>> print ("Yankerp:\n\tPython\n\tyankerp\n\tPython!") Yankerp: Python yankerp Python! >>>
二、删除空白
在程序中,额外的空白可能令人迷惑。对程序员来说,’python’ 和’python ‘ 看起来几乎没什么两样,但对程序来说,它们却是两个不同的字符串。Python能够发现’python ‘ 中额外的空白,并认为它是有意义的——除非你告诉它不是这样的。空白很重要,因为你经常需要比较两个字符串是否相同。例如,一个重要的示例是,在用户登录网站时检查其用户名。但在一些简单得多的情形下,额外的空格也可能令人迷惑。所幸在Python中,删除用户输入的数据中的多余的空白易如反掌。Python能够找出字符串开头和末尾多余的空白。要确保字符串末尾没有空白,可使用方法rstrip() 。
>>> name = 'yankerp ' >>> name.rstrip() 'yankerp' >>> name 'yankerp ' >>>
然而,这种删除只是暂时的,接下来再次询问name 的值时,你会发现这个字符串与输入时一样,依然包含多余的空白
如果要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中
>>> name 'yankerp ' >>> name = name.rstrip() >>> name 'yankerp' >>>
你还可以剔除字符串开头的空白,或同时剔除字符串两端的空白。为此,可分别使用方法lstrip() 和strip()
>>> name = ' yankerp ' >>> name ' yankerp ' >>> name.strip() 'yankerp' >>> name.lstrip() 'yankerp ' >>>
在这个例子中,我们首先创建了一个开头和末尾都有空白的字符串,以上图中分别展示了删除开头空白行以及末尾的空白行,但是这只是占时的。要是使用永久的 那么就需要从开始定义name如:name=name.rstrip() name=name.lstrip()如下:
>>> name ' yankerp ' >>> name=name.strip() >>> name=name.lstrip() >>> name 'yankerp' >>>
三、使用字符串时避免语法错误
语法错误是一种时不时会遇到的错误,程序中包含非法的Python代码时,就会导致语法错误。例如:在用单引号扩起的字符串中,如果包含撇号,就会导致错误,这是因为这会导致Python将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为Python代码,从而引发错误。
下面演示了如何正确锝使用单引号和双引号,请将该程序保存为hello_world.py在运行它
hello_world.py
#!/usr/bin/env python # -*- coding:utf-8 -*- message = "One of Python's aaaaa bbbbb yankerp." print (message)
撇号位于两个双引号之间,因此Python解释器能够正确的理解这个字符串 输出如下:
然而,如果使用单引号,Python将无法正确的确定字符串的结束位置;
#!/usr/bin/env python # -*- coding:utf-8 -*- message = 'One of Python's aaaaa bbbbb yankerp.' print (message)
输出如下:
四、Python2.7中的print语句
在python2中print语句的语法稍有不同如下:
[root@yankerp-python ~]# python Python 2.7.5 (default, Nov 20 2015, 02:00:19) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "hello world Python2.7 !!!" hello world Python2.7 !!! >>>
在Python 2中,无需将要打印的内容放在括号内。从技术上说,Python 3中的print 是一个函数,因此括号必不可少。有些Python 2 print 语句也包含括号,但其行为与Python 3中稍有不同。简单地说,在Python 2代码中,有些print 语句包含括号,有些不包含。
五、数字
在编程中,经常使用数字来记录游戏得分、表示可视化数据、存储Web应用信息等。Python根据数字的用法以不同的方式处理它们。鉴于整数使用起来最简单,下面就先来看看Python是如何管理它们的。
1)整数
在Python中,可对整数执行加(+)减(-)乘(x)除(/)运算
>>> 2+3 5 >>> 3-2 1 >>> 2*3 6 >>> 3/2 1.5 >>>
在终端会话中,Python直接返回运算结果。Python使用两个乘号表示乘方运算:
>>> 3**2 9 >>> 3**3 27 >>> 10**6 1000000 >>>
Python还支持运算次序,因此你可在同一个表达式中使用多种运算。你还可以使用括号来修改运算次序,让Python按你指定的次序执行运算,如下所示:
>>> 2+3*4 14 >>> (2+3)*4 20 >>>
在这些示例中,空格不影响Python计算表达式的方式,它们的存在旨在让你阅读代码时,能迅速确定先执行哪些运算。
浮点数
Python将带小数点的数字都称为浮点数 。大多数编程语言都使用了这个术语,它指出了这样一个事实:小数点可出现在数字的任何位置。每种编程语言都须细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置,数字的行为都是正常的。
从很大程度上说,使用浮点数时都无需考虑其行为。你只需输入要使用的数字,Python通常都会按你期望的方式处理它们:
>>> 0.1+0.1 0.2 >>> 0.2+0.2 0.4 >>> 2*0.1 0.2 >>> 2*0.2 0.4 >>>
但需要注意的是,结果包含的小数位数可能是不确定的:
>>> 0.1+0.2 0.30000000000000004 >>> 3*0.1 0.30000000000000004 >>>
使用函数str() 避免类型错误
你经常需要在消息中使用变量的值。例如,假设你要祝人生日快乐,可能会编写类似于下面的代码:
#!/usr/bin/env python # -*- coding:utf-8 -*- age = 23 message = "Happy " + age + "rd Birthday!" print (message)
你可能认为,上述代码会打印一条简单的生日祝福语:Happy 23rd birthday!。但如果你运行这些代码,将发现它们会引发错误:
这是一个类型错误 ,意味着Python无法识别你使用的信息。在这个示例中,Python发现你使用了一个值为整数(int )的变量,但它不知道该如何解读这个值。Python知道,这个变量表示的可能是数值23,也可能是字符2和3。像上面这样在字符串中使用整数时,需要显式地指出你希望Python将这个整数用作字符串。为此,可调用函数str() 它让Python将非字符串值表示为字符串:
#!/usr/bin/env python # -*- coding:utf-8 -*- age = 23 message = "Happy " + str(age) + "rd Birthday!" print (message)
这样,Python就知道你要将数值23转换为字符串,进而在生日祝福消息中显示字符2和3。经过上述处理后,将显示你期望的消息,而不会引发错误:
大多数情况下,在Python中使用数字都非常简单。如果结果出乎意料,请检查Python是否按你期望的方式将数字解读为了数值或字符串。
注释:
在大多编程语言中,注释都是一项很有用的功能,随着程序越来越大、越来越复杂,就应在其中添加说明。
在Python中,注释用#表示,#号后面的内容都会被Python解释器忽略。如下:
#!/usr/bin/env python # -*- coding:utf-8 -*- # 向大家问好 print ("Hello Python people!")