python变量与字符串
首先尝试在hello.py中使用一个变量message,如下:
message = "hello python!"
print (message)
运行这个程序,结果如下:
hello python!
在这个文件里面,我们添加了一个名为message的变量。每个变量都存储了一个值----与变量相关联的信息。在这里,存储的值为文本“hello python!”。添加这个变量,导致python解释器在处理第一行代码时,将文本“hello python!”与message关联起来;而处理第二行代码时,他将与变量message关联的值打印到屏幕上。
接下来,我们进一步扩展,如下:
message = “hello python!”
print (message)
message = "hello world!"
print (message)
运行结果如下:
hello python!
hello world!
这意味着在程序中可随时修改变量的值,而python将记录变量的最新值。
python变量的命名和使用
在python中使用变量时,需要遵守以下规则:
- 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头
- 变量名不能包含空格,但可使用下划线来分隔其中的单词。
- 不要将python关键字和函数名用作变量名,即不要使用python保留字用于特殊用途的单词。如:print
- 变量名应既简短又具有描述性。
- 慎用小写字母l和大写字母O,因为可能会被错看成数字1和0.
字符串
字符串就是一系列字符。在python中,用引号括起的都是字符串,其中的引号可以是单引号、双引号,如下:
”this is a string.“
'this is also a string.'
使用方法修改字符串的大小写
对于字符串,可执行的最简单的操作之一是修改其中的单词的大小写,如下:
name.py
name = "ada lovelace"
print (name.title())
保存后运行结果如下:
Ada Lovelace
在这个示例中,小写的字符串“ada lovelace”存储到了变量name中,在执行ptint()语句中,方法title()出现在这个变量的后面。方法是python可对数据执行的操作。在name.title()中,name后面的句点(.)让python对变量name()执行方法title()指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额定的信息来完成其工作。这种信息是在括号内提供的。函数title()不需要额外的信息,因此它后面的括号是空的。
title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。
还有一些将字符串改为全部大写和全部小写,如下:
name = "Ada Lovelace"
print (name.upper())
print (name.lower())
运行结果如下:
ADA LOVELACE
ada lovelace
存储数据时,方法lower()很有用,因为很多时候,你无法依靠用户提供正确的大小写,因此需要将字符串先转换为小写,再存储它们。以后需要显示这些信息时,再将其转换为适合的大小写方式。
合并(拼接)字符串
python使用加号(+)来合并字符串,如下:
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print (full_name)
运行结果如下:
ada lovelace
在这个示例中,我们使用+来合并first_name、空格和last_name,以得到完整的姓名,这种合并字符串的方法称为拼接。通过拼接,可使用存储在变量中的信息来创建完整的信息。如下:
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print (“Hello, ” + full_name.title() + "!")
运行如下:
Hello, Ada Lovelace!
也可以将拼接好的信息保存在变量中,如下:
first_name = “ada”
last_name = "lovelace"
full_name = first_name + " " + last_name
message = "Hello, " + full_name.title() + "!"
print (message)
运行结果和上面的一样,也是“Hello, Ada Lovelace!”
使用制表符或换行符来添加空白
空白泛指任何非打印字符,如空格、制表符和换行符。你可使用空白来组织输出,以使其易读。
要在字符串中添加制表符,可使用字符组合\t,如下所示:
>>>print ("python")
python
>>>print ("pyth\ton")
pyth on
在字符串中添加换行符,使用\n:
>>>print ("Language:\nC\npython")
Language:
C
python
删除空白
在程序中,额外的空白可能令人迷惑。‘python’和‘python ’看起来几乎没什么两样,但对程序来讲,它们却是两个不同的字符串。python能够发现‘python ’中额外的空白,并认为它是有意义的。
空白很重要,因为你经常需要比较两个字符串是否相同。例如,比较登陆网站时检查用户名和密码时。但是在python中删除用户输入的数据中多余的空白易如反掌。
python能够找出字符串开头和末尾多余的空白。要确保字符串末尾没有空白,可使用方法rstrip()。
>>> favorite_language = 'python '
>>> favorite_language
'python '
>>> favotite_language.rstrip()
'python'
>>> favorite_language
'python '
存储在变量favorite_language中的字符串末尾包含多余的空白,在终端会话中向python询问这个变量的值时,可看到末尾的空格,对变量favorite_language调用retrip()后,多余的空格就被删除了,然而,这种删除只是暂时性的,接下来再次调用favorite_language的值时,你会发现这个字符串与输入时一样,依然包含多余的空白。
要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中:
>>> favorite_language = 'python '
>>> favorite_language = favorite_language.rstrip()
>>> favorite_language
'python'
还可以删除字符串开头的空白,或同时删除字符串两端的空白,可分别使用方法lstrip()和strrip():
>>> favorite_language = ' python '
>>> favorite_language.rstrip()
' python'
>>> favorite_language.lstrip()
'python '
>>>favorite_language.strrip()
'python'
使用字符串时避免语法错误
程序中包含非法的python代码时,就会导致语法错误,例如:在用单引号括起的字符串中,如果包含撇号,就将导致错误。这是因为这会导致python将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为python代码,从而引发错误。
下面演示了如何正确地使用单引号和双引号。
apostrophe.py
message = "One of python's strengths is its diverse community."
print (message)
撇号位于两个双引号之间,因此python解释器能够正确地理解这个字符串,结果如下:
One of python's strengths is its diverse community.
如果使用单引号,python将无法正确地确定字符串地结束位置,如下:
message = ‘One of python's strengths is its diverse community.’
print (message)
输出如下:
file "apostrophe.py", line 1
message = 'One of python's strengths is its diverse community.'
^
SyntaxError:invalid syntax
根据上述输出信息可知道错误发生在第二个单引号后面,这种语法错误表明,在解释器看来,其中有些内容不是有效地python代码。
注:编写程序时,编辑器地语法功能可帮助你快速找出某些语法错误。看到python代码以普通句子地颜色显示,或者普通句子以python代码地颜色显示时,就可能意味着文件中存在引号不匹配地错误。
python 2中print语句
在python2中,print语句的语法稍有不同:
>>> python2.7
>>> print "hello python 2.7 world!"
hello python 2.7 world!
在python 2中,无需将要打印的内容放在括号内。从技术上讲,python 3中print 是一个函数,因此括号必不可少。有些python 2 print 语句也包含括号,但其行为与python 3中稍有不同。简单地说,在python 2代码中,有些print 语句包含括号,有些不包含。
注:本文章地内容来源于书:Python编程从入门到实践,有需要本书高清PDF的,私我博客