一,字符串的创建
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可,eg:var1 ='Hello World!'二,Python访问字符串中的值
类型1: Python访问子字符串,可以使用方括号来截取字符串,如下实例:
代码:
str = "abcdefg"
print(str[0])
print(str[2])
输出结果:'a'
'c'
类型二:对于一个很长的字符串,例如“jhn,hjkjhjh……abcdefg”,想要输出倒数第三个数,可以有一下几种方法:
1.print(str[len(str-3)])
2.print(str[-3])
类型三:切片
切片的语法:[起始:结束:步长] 选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长会在以下的代码中解释
举例:
var2 ="Python Runoob"print"var2[1:5]: ",var2[1:5]"
以上实例执行结果: var2[1:5]:ytho
那么要是输出想要的片段,又该怎么办呢?
例如 str = "abcdefg",想要输出“bd”
那么 print(str[1:4:2])就可以实现
切片从1号下标索引开始(包含b)到4号索引截至(不包含e),“2”就是这个切片的步长,可以理解为从1号下标索引开始(即b),往前跨两步。下面放一些代码,可以体会一下
三,Python字符串更新
你可以对已存在的字符串进行修改,并赋值给另一个变量,如下实例:
# -*- coding: UTF-8 -*- (因为以下代码有汉字,需要加上这行代码,否则编译会出错)
var1 = 'Hello World!'
print "更新字符串 :- ", var1[:6] + 'Runoob!'
以上实例执行结果:
更新字符串 :- Hello Runoob!
四,Python转义字符
在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:
转义字符描述
\(在行尾时)
续行符
\\
反斜杠符号
\'
单引号
\"
双引号
\a
响铃
\b
退格(Backspace)
\e
转义
\000
空
\n
换行
\v
纵向制表符
\t
横向制表符
\r
回车
\f
换页
\oyy
八进制数,yy代表的字符,例如:\o12代表换行
\xyy
十六进制数,yy代表的字符,例如:\x0a代表换行
\other
其它的字符以普通格式输出
Python字符串运算符
下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":
操作符描述实例
+
字符串连接
>>>a+ b'HelloPython'
*
重复输出字符串
>>>a* 2'HelloHello'
[]
通过索引获取字符串中字符
>>>a[1]'e'
[ : ]
截取字符串中的一部分
>>>a[1:4]'ell'
in
成员运算符 - 如果字符串中包含给定的字符返回 True
>>>"H"inaTrue
not in
成员运算符 - 如果字符串中不包含给定的字符返回 True
>>>"M"notinaTrue
r/R
原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
>>>printr'\n'\n>>> printR'\n'\n
Python 字符串格式化
Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
如下实例:
#!/usr/bin/python
print "My name is %s and weight is %d kg!" % ('Zara', 21)
以上实例输出结果:
My name is Zara and weight is 21 kg!
python字符串格式化符号:
符 号描述
%c
格式化字符及其ASCII码
%s
格式化字符串
%d
格式化整数
%u
格式化无符号整型
%o
格式化无符号八进制数
%x
格式化无符号十六进制数
%X
格式化无符号十六进制数(大写)
%f
格式化浮点数字,可指定小数点后的精度
%e
用科学计数法格式化浮点数
%E
作用同%e,用科学计数法格式化浮点数
%g
%f和%e的简写
%G
%f 和 %E 的简写
%p
用十六进制数格式化变量的地址
格式化操作符辅助指令:
符号功能
*
定义宽度或者小数点精度
-
用做左对齐
+
在正数前面显示加号( + )
在正数前面显示空格
#
在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0
显示的数字前面填充'0'而不是默认的空格
%
'%%'输出一个单一的'%'
(var)
映射变量(字典参数)
m.n.
m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)