创建
字符串是 Python 中最常用的数据类型。我们可以使用引号(‘或”)来创建字符串。 单引号双引号都可以。
创建字符串很简单,只要为变量分配一个值即可。例如:
代码语言:javascript复制var1 = 'Hello World!'
var2 = "Python Runoob"
Python访问字符串中的值
Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。
Python访问子字符串,可以使用方括号来截取字符串,如下实例:
代码语言:javascript复制#!/usr/bin/python
var1 = 'Hello World!'
var2 = "Python Runoob"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
以上实例执行结果:
代码语言:javascript复制var1[0]: H
var2[1:5]: ytho
Python字符串更新
你可以对已存在的字符串进行修改,并赋值给另一个变量。
代码语言:javascript复制#!/usr/bin/python
# -*- coding: UTF-8 -*-
var1 = 'Hello World!'
print "更新字符串 :- ", var1[:6] 'xiaogongjiang!'
以上实例执行结果
代码语言:javascript复制更新字符串 :- Hello xiaogongjiang!
Python转义字符
在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:
Python字符串运算符
下表实例变量a值为字符串”Hello”,b变量值为”Python”:
实例如下:
代码语言:javascript复制#!/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'
以上程序执行结果为:
代码语言:javascript复制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 函数一样的语法。 如下实例:
代码语言:javascript复制#!/usr/bin/python
print "My name is %s and weight is %d kg!" % ('xiaogongjiang', 21)
以上实例输出结果:
代码语言:javascript复制My name is xiaogongjiang and weight is 21 kg!
python字符串格式化符号:
格式化操作符辅助指令:
Python三引号(triple quotes)
python中三引号可以将复杂的字符串进行复制:
python**三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。**
三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。
代码语言:javascript复制 >>> hi = '''hi xiaogongjiang'''
>>> hi # repr()
'hi xiaogongjiang'
>>> print xiaogongjiang # str()
hi
there
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。 一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。
代码语言:javascript复制 errHTML = '''
Friends CGI Demo
ERROR
%s
'''
cursor.execute('''
CREATE TABLE users (
login VARCHAR(8),
uid INTEGER,
prid INTEGER)
''')
Unicode 字符串
Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:
代码语言:javascript复制>>> u'Hello World !'
u'Hello World !'
引号前小写的”u”表示这里创建的是一个 Unicode 字符串。如果你想加入一个特殊字符,可以使用 Python 的 Unicode-Escape 编码。如下例所示:
代码语言:javascript复制>>> u'Hellou0020World !'
u'Hello World !'
被替换的 u0020 标识表示在给定位置插入编码值为 0x0020 的 Unicode 字符(空格符)。
python的字符串内建函数
字符串方法是从python1.6到2.0慢慢加进来的——它们也被加到了Jython中。
这些方法实现了string模块的大部分方法,如下表所示列出了目前字符串内建支持的方法,所有的方法都包含了对Unicode的支持,有一些甚至是专门用于Unicode的。