首页 > 代码库 > python之最强王者(4)——字符串

python之最强王者(4)——字符串

1.Python 中文编码

前面章节中我们已经学会了如何用 Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题。

Python 文件中如果未指定编码,在执行过程会出现报错。

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。

解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了。

如 示例1

#!/usr/bin/python# -*- coding: UTF-8 -*-print "你好,世界";

所以如果大家再学习过程中,代码中包含中文,就需要在头部指定编码。

注意:Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。

关于 ASCII,Unicode和UTF-8 三种编码 更多内容 可以参考这个链接:

ASCII,Unicode和UTF-8 对比

2.Python 字符串

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

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

例如:

var1 = Hello World!var2 = "hello ,Python "

2.1Python访问字符串中的值

Python不支持单字符类型相当于java中的char 类型),单字符也在Python也是作为一个字符串使用。

Python访问子字符串,可以使用方括号来截取字符

示例2:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time    : 2016/9/10 18:31# @Author  : wwyxvar1 = "hello world"var2 = "hello python"print "var1[1]", var1[1]print "var2[2:9]", var2[2:9]

示例2 运行结果:

技术分享

2.2Python字符串更新

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

示例3:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time    : 2016/9/10 18:31# @Author  : wwyxvar1 = "hello world"var2 = "python"print "更新字符串var1:", var1[0:6]+var2

示例3 运行结果:

技术分享

3.Python转义字符

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

比如常用的 “\n” 就是换行的 转义字符

其他的还有

\’ 单引号,\” 双引号

常用的不多,用到的再查。

4.Python字符串运算符

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

常用的 字符串运算符有

+” 字符串链接 a+b 输出结果为 :HelloPython

“% “  格式字符串 等,就不一一列举了

5.Python字符串格式化

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

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

示例 4:

print "%s is a good game " % "英雄联盟"

示例4 运行结果

技术分享

同样字符串格式化常用的就是:

“%s”  格式化字符串

“%d”  格式化整数

“%f”  格式化浮点数

6.Python三引号

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

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

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

示例5:

print """hellopython"""

示例5 运行结果:

技术分享

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

一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

示例6:

 errHTML = ‘‘‘<HTML><HEAD><TITLE>Friends CGI Demo</TITLE></HEAD><BODY><H3>ERROR</H3><B>%s</B><P><FORM><INPUT TYPE=button VALUE=http://www.mamicode.com/Back"window.history.back()"></FORM></BODY></HTML>‘‘‘cursor.execute(‘‘‘CREATE TABLE users (  login VARCHAR(8), uid INTEGER,prid INTEGER)‘‘‘)

7.Unicode 字符串

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

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

示例7:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time    : 2016/9/10 18:31# @Author  : wwyxprint uHello\u0020World !

示例7 运行结果:

Hello World !

8.python的字符串内建函数

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

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

python之最强王者(4)——字符串