字符串 str
作用:
用来记录文本(文字)信息
字符串的表示方式:
在非注释中,凡是用引号括起来的部分都是字符串
1 2 |
|
空字符串的字面值表示方式:
1 2 3 4 |
|
非空字符串的字面值表示方式
1 2 3 4 |
|
单引号和双引号的区别
单引号内的双引号不算结束符
双引号内的但引号不算结束符
1 2 3 |
|
三引号字符串
作用:
三引号字符串中的换行会自动转换为换行符'\n'
三引号字符串内可以包含单引号和双引号
1 2 |
|
隐式字符串的字面值拼接
1 2 3 |
|
用转义序列代表特殊字符
字符串字面值中用字符反斜杠(\)后跟一个或一些字符代表特殊的一个字符
转义格式 说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 6 |
|
ASCII 编码表:
$ man ascii <回车>
常用的ASCII编码值:
1 2 3 4 |
|
求序列长度的函数len(x)
len(x) 返回字符串中字符的个数
练习:
1 2 3 4 5 |
|
raw 字符串 (原始字符串)
格式:
1 2 3 4 |
|
作用:
让转义符号\无效
1 2 3 4 5 |
|
字符串的运算
1 |
|
1 2 3 4 |
|
+= 运算符用于原字符串与右侧字符串拼接,变量绑定新生成的字符串
1 2 3 |
|
* 运算符用于生成重复的字符串
1 2 3 |
|
*= 用于生成重复的字符串,变量绑定新生成的字符串
1 2 3 |
|
练习:
写一个程序,打印一个高度为4行的矩形方框
要求输入一个整数,此整数代码矩形的宽度,打印
相应宽度的矩形
如:
请输入矩形宽度
打印如下:
#########
# #
#########
1 2 3 4 5 6 7 |
|
字符串的比较
运算符:
< <= > >= == !=
规则:
依次按编码值进行两两字符比较,一旦不同,则比较结束,返回比较
结果.当编码值与长度完全相同时,两个字符串相同
1 2 3 4 5 6 7 8 |
|
in 和 not in 运算符
作用:
in 用于序列,字典,集合中,用于判断某个值是不存在于容器中,如果存在则返回True,否则返回False
not in 与 in 运算符返回结果相反
格式:
对象 in 序列
注:字符串是序列的一种
1 2 3 4 5 6 |
|
练习:
写程序,输入一个长长的字符串,判断你的姓名是否存在于用户输入的字符串中,如果存在则打印:"你的名字出现了"
否则不预理睬(忽略)
1 2 3 4 5 6 |
|
字符串的索引和切片操作
索引 index
python 字符串是不可以改变的字符序列
语法:
字符串[整数表达式]
说明:
python序列都可以用索引(index)来访问序列中的对象
python序列正向索引是从0开始的,第二个索引为1,最后一个为:len(s)-1
python序列的反向索引是从-1开始的,-2代表倒数第二个,以此类推,...第一个是 -len(s)
1 2 3 4 5 6 7 8 |
|
练习:
输入一个字符串,打印如下内容:
1.打印这个字符串的第一个字符
2.打印这个最非常的最后一个字符
3.如果这个字符串的长度是奇数,打印中间这个字符:
注:求字符串长度的函数是 len(x)
1 2 3 4 5 6 |
|
切片 slice
作用:
从字符串序列中取出相应的元素,重新组成一个新的字符串序列
语法:
s[(开始索引b):(结束索引e)(:(步长))]
注:小括号()括起的部分代表可省略
说明:
开始索引是切片开始切下的位置,0代表第一个元素,代表第二个元素,-1 代表最后一个元素....
结束索引是切片的终止索引(但不包含终止点)
步长是切片每次获取完当前元素后移动的方向和偏移量
没有步长,相当于步长为1(默认为1)
当步长为整数是,取正向切片:
开始索引默认为0,结束索引为最后一个元素的下一个元
当步长为负整数时,取反向切片:
反向切片时,默认的起始位置为最后一个元素,终止位置,是第一个元素的前一个位置
注:含前不含后
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
练习:
1. 写一个程序,输入一个字符串,把字符串的第一个字符和最后一个字符去掉后,打印出处理后的字符串
1 2 |
|
2. 输入任意一个字符串,判断这个字符串是否是回文
回文示例:
上海自来水来自海上
ABCCBA
13831
回文是指中心对称的文字
任意输入一段文字,判断是否是回文
1 2 3 4 5 6 |
|
python 运算符优先级
文档参见:
python_base_docs_html/python运算符优先级.html
(需要者,发邮箱给我 cmaoxian@126.com)
python3中常用于序列的函数
len(x) 返回序列的长度
max(x) 返回序列的最大值的元素
min(x) 返回序列的最小值的元素
字符串编码转换函数:
ord(c) 返回一个字符c的unicode编码值
chr(i) 返回i这个值所对应的字符
练习:
写一个程序,输入一段字符串,如果字符串不为空,则把字符串的第一个字符的编码值打印出来
1 2 3 4 |
|
整数转为字符串函数
bin(i) 将整数转换为二进制的字符串
oct(i) 将整数转换为八进制的字符串
hex(i) 将整数转换为十六进制的字符串
字符串的构造函数:
str(obj="") 将对象转换为字符串
python3 常用的字符串方法(method(.的))
语法:
对象.方法名(方法传参)
1 2 3 |
|
文档参见:
python_base_docs_html/str.html
(需要者,发邮箱给我 cmaoxian@126.com)
小结:
字符串 保存文字信息
1 |
|
运算:
1 2 3 |
|
函数:
1 2 3 |
|
方法:
1 2 3 |
|
字符串的格式化表达式
语法格式:
格式化字符串 % 参数值
或
格式化字符串 % (参数值1,参数值2,...)
说明:
% 右侧为参数值,当有多个参数值是用括号()括起来,各参数间用逗号(,)分隔
% 左侧为格式化字符串,中间的 % 开头的字符为占位符合类型码
作用:
生成一定的格式的字符串
1 2 3 4 5 6 7 8 |
|
格式化字符串中的占位符和类型码
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
占位符和类型码之间的格式语法
% [- + 0 宽度.精度] 类型码
注:[]里的内容可以省略不写
- 左对齐(默认为右对齐)
+ 显示正号
宽度 整个数据输出的宽度
精度 保留小数点后多少位(默认为6位)
1 2 3 4 5 6 7 8 9 10 11 12 |
|
练习:
写一个程序,输入三行文字,让这三行文字依次以20个字符的宽度右对齐输出
如:
请输入第1行:hello china
请输入第2行:tanena
请输入第3行:a
打印如下:
hello china
tanena
a
做完上题后在思考:
能否以最长的字符串长度进行右对齐显示(左侧填充空格)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
占位符合类型码 意义 %s 字符串,使用str(x) 函数转换 %r 字符串,使用sepr(x) 函数转换 %c 整数转为单个字符 %d 整数转为十进制整数 %o 整数转为八进制整数 %x 整数转为十六进制整数(字符a-f小写) %X 整数转为十六进制整数(字符A-F小写) %e 指数型浮点数(e小写),如2.9e+10 %E 指数型浮点数(E小写),如2.9E+10 %f,%F 浮点十进制形式 %g,%g 十进制形式浮点或指数浮点自动转换 %% 等同于一个%字符