2019-07-24 Python3 字符串

本文章的内容:

1.Python 3字符串的表现形式

2.Python 访问字符串中的值

3.Python 字符串更新 (连接符:+)

4.Python转义字符

5.Python字符串运算符

6.Python字符串格式化

7.Python三引号

8.Unicode 字符串

9.Python 的字符串内建函数

5\6\7\8\9是新知识,需要多加学习。

Python3 字符串

1.Python 3字符串的表现形式

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

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

var1 = 'Hello World!'

var2 = "Runoob"

2.Python 访问字符串中的值

(1)按照下标访问一个字符

(2)使用[ ]进行截取,注意是左闭右开 -[x:n-1]

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

Python 访问子字符串,可以使用方括号来截取字符串,如下实例:

实例(Python 3.0+)

#!/usr/bin/python3

var1 = 'Hello World!'

var2 = "Runoob"

print ("var1[0]: ", var1[0])

print ("var2[1:5]: ", var2[1:5])

以上实例执行结果:

var1[0]:  H

var2[1:5]:  unoo

拓展:

字符串截取字符补充:

# 0、a,b为参数。从字符串指针为a的地方开始截取字符,到b的前一个位置(因为不包含b)

var1 = "hello world";

print(var1[a: b]);

# 1、如果a,b均不填写,默认取全部字符。即,下面这两个打印结果是一样的

print(var1[: ]);  # hello world

print(var1);      # hello world

# 2、如果a填写,b不填写(或填写的值大于指针下标),默认从a开始截取,至字符串最后一个位置

print(var1[3: ]); # lo world

# 3、如果a不填写, b填写,默认从0位置开始截取,至b的前一个位置

print(var1[: 8]); # hello wo

# 4、如果a为负数,默认从尾部某一位置,开始向后截取

print(var1[-2: ]); # ld

# 5、如果a>=b, 默认输出为空。

print(var1[3: 3]);

print(var1[3: 2]);

3.Python 字符串更新 (连接符:+)

你可以截取字符串的一部分并与其他字段拼接,如下实例:

实例(Python 3.0+)

#!/usr/bin/python3

var1 = 'Hello World!'

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

以上实例执行结果

已更新字符串 :  Hello Runoob!

字符串截取字符继续补充:

[::2] 表示的是从头到尾,步长为2。第一个冒号两侧的数字是指截取字符串的范围,第二个冒号后面是指截取的步长。

>>> L=['a','b','c','d','e','f','g']

>>> print(L[::2])

['a', 'c', 'e', 'g']

4.Python转义字符

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

2019-07-24 Python3 字符串_第1张图片

5.Python字符串运算符

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

2019-07-24 Python3 字符串_第2张图片

实例(Python 3.0+)

#!/usr/bin/python3

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


6.Python字符串格式化

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

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

实例(Python 3.0+)

#!/usr/bin/python3

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

以上实例输出结果:

我叫 小明 今年 10 岁!

拓展:

python字符串格式化符号 %f 可指定小数点后的精度。

>>> num=18.7254

>>> print("the price  is  %.2f" %num)

the price  is  18.73

>>>

使用格式化符号进行进制转换

>>> num=10

>>> print('十六进制:%#x' % num)    #使用%x将十进制num格式化为十六进制

十六进制:0xa

>>> print('二进制:', bin(num))      #使用bin将十进制num格式化为二进制

二进制: 0b1010

>>> print('八进制:%#o' % num)      #使用%o将十进制num格式化为八进制

八进制:0o12

上面使用格式化符号进行进制转换中,多加入了一个#号,目的是在转换结果头部显示当前进制类型,如不需要,可将#号去除,如下

>>> print('八进制:%o' % num)

八进制:12

>>> print('十六进制:%x' % num)

十六进制:a

2019-07-24 Python3 字符串_第3张图片
2019-07-24 Python3 字符串_第4张图片

拓展:

字符串与列表,元组的互相转换。

1、字符串转换为列表

var='菜鸟教程'

list=[]

list=[i for i in var]

2、列表转化为字符串

使用 join 来实现:

var1=' ,'.join(list)

3、字符串转化为元组,使用 tuple() 函数

tup=tuple(var)

7.Python三引号

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

实例(Python 3.0+)

#!/usr/bin/python3

para_str = """这是一个多行字符串的实例

多行字符串可以使用制表符

TAB ( \t )。

也可以使用换行符 [ \n ]。

"""

print (para_str)

以上实例执行结果为:

这是一个多行字符串的实例

多行字符串可以使用制表符

TAB (    )。

也可以使用换行符 [

]。

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

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

errHTML = '''

</p> <p>Friends CGI Demo

ERROR

%s

ONCLICK="window.history.back()">

'''

cursor.execute('''

CREATE TABLE users ( 

login VARCHAR(8),

uid INTEGER,

prid INTEGER)

''')


8.Unicode 字符串

在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u

在Python3中,所有的字符串都是Unicode字符串

9.Python 的字符串内建函数

Python 的字符串常用内建函数如下:

2019-07-24 Python3 字符串_第5张图片

你可能感兴趣的:(2019-07-24 Python3 字符串)