Quantcast
Channel: CodeSection,代码区,Python开发技术文章_教程 - CodeSec
Viewing all articles
Browse latest Browse all 9596

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

$
0
0

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 : wwyx
var1 = "hello world"
var2 = "hello python"
print "var1[1]", var1[1]
print "var2[2:9]", var2[2:9]

示例2 运行结果:


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

2.2Python 字符串更新

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

示例3:


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

示例3 运行结果:


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

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 运行结果


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

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

“%s” 格式化字符串

“%d” 格式化整数

“%f” 格式化浮点数

6.Python 三引号

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

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

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

示例5:


print """hello
python"""

示例5 运行结果:


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

三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的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=Back
ONCLICK="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 : wwyx
print u'Hello\u0020World !'

示例7 运行结果:


Hello World !

8.python的字符串内建函数

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

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


Viewing all articles
Browse latest Browse all 9596

Trending Articles