您的位置:首页 > 编程语言 > Python开发

Python学习笔记(五)-- Python字符串

2017-08-16 17:16 176 查看
一、Python字符串

 1、字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:

        var1 = 'Hello World!'

        var2 = "Python Runoob"

2、Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。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

由上述实例我们可知,使用方括号来截取字符串时,既可以截取单个字符,也可以截取多个字符。从第一个字符开始记为0,按顺序截取,截取多个字符时,用第一个字符的顺序:最后一个字符加1的顺序截取。

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

var1 = 'Hello World!'

print "更新字符串 :- ", var1[:6] + 'Runoob!'

输出结果为:

更新字符串 :-  Hello Runoob!


二、Python转义字符

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



三、Python字符串运算符

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



实例如下:

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 函数一样的语法。

Python字符串格式化符号:


 

格式化操作符辅助符号:



如下实例:

print "My name is %s and weight is %d kg!" % ('Zara', 21)


输出结果为:

My name is Zara and weight is 21 kg!


五、Unicode 字符串

1、计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。

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

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


2、ASCII编码和Unicode编码的区别:

ASCII编码是1个字节,而Unicode编码通常是2个字节,举例如下。

  字母 A 用ASCII编码是十进制的65,二进制的01000001;

  字符 0 用ASCII编码是十进制的48,二进制的00110000,注意字符 '0' 和整数   

0 是不同的;

  汉字 中 已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的01001110 00101101。

  如果把ASCII编码的 A 用Unicode编码,只需要在前面补0就可以,因此, A 的Unicode编码是00000000 01000001。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息