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

来源:互联网 发布:python现实世界 编辑:程序博客网 时间:2024/05/16 12:18

一、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]:  Hvar2[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 输出结果: HelloPythona * 2 输出结果: HelloHelloa[1] 输出结果: ea[1:4] 输出结果: ellH 在变量 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。


原创粉丝点击