Python 字符串



字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。例如:


var1 = 'Hello World!'
var2 = "Python Runoob"

Python访问字符串中的值

Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

Python访问子字符串,可以使用方括号来截取字符串,如下实例:

实例(Python 2.0+)


#!/usr/bin/python
var1 = 'Hello World!'
var2 = "Python Runoob"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

以上实例执行结果:


var1[0]: H
var2[1:5]: ytho

Python字符串更新

你可以对已存在的字符串进行修改,并赋值给另一个变量,如下实例:

实例(Python 2.0+)



#!/usr/bin/python# -*- coding: UTF-8 -*-
var1 = 'Hello World!'
print "更新字符串 :- ", var1[:6] + 'Runoob!'

以上实例执行结果


更新字符串 :- Hello Runoob!

Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:



Python字符串运算符

下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":



实例(Python 2.0+)


#!/usr/bin/python# -*- coding: UTF-8 -*-
a = "Hello"
b = "Python"

print "a + b 输出结果:", a + b
print "a * 2 输出结果:", a * 2
print "a[1] 输出结果:", a[1]
print"a[1:4] 输出结果:", a[1:4]


if( "H" in a) :
print "H 在变量 a 中"
else :
print "H 不在变量 a 中"

if( "M" not in a) :
print "M 不在变量 a 中"
else :
print "M 在变量 a 中"

print r'\n'
print R'\n'

以上程序执行结果为:


a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n

Python 字符串格式化

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

如下实例:


#!/usr/bin/pythonprint "My name is %s and weight is %d kg!" % ('Zara', 21)

以上实例输出结果:


My name is Zara and weight is 21 kg!

python字符串格式化符号:



格式化操作符辅助指令:



Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

Python三引号(triple quotes)

python中三引号可以将复杂的字符串进行复制:

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。


>>> hi = '''hi
there'''>>> hi # repr()'hi\nthere'>>> print hi # str()
hi
there

三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。

一个典型的用例是,当你需要一块HTML或者SQL时,这时当用三引号标记,使用传统的转义字符体系将十分费神。


errHTML = '''
<title>
Friends CGI Demo/<title>

ERROR


%s




'''
cursor.execute('''
CREATE TABLE users (
login VARCHAR(8),
uid INTEGER,
prid INTEGER)
''')

Unicode 字符串

Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:


>>> u'Hello World !'
u'Hello World !'

引号前小写的"u"表示这里创建的是一个 Unicode 字符串。如果你想加入一个特殊字符,可以使用 Python 的 Unicode-Escape 编码。如下例所示:


>>> u'Hello\\u0020World !'
u'Hello World !'

被替换的 \\u0020 标识表示在给定位置插入编码值为 0x0020 的 Unicode 字符(空格符)。

python的字符串内建函数

字符串方法是从python1.6到2.0慢慢加进来的——它们也被加到了Jython中。

这些方法实现了string模块的大部分方法,如下表所示列出了目前字符串内建支持的方法,所有的方法都包含了对Unicode的支持,有一些甚至是专门用于Unicode的。






好了,本文就给大伙分享到这里,文末分享一波福利

获取方式:关注+私信我“python书籍”即可获取以上资源!