字符串:str
作用:用来记录文本信息
字符串表示方法:在非注释中凡是用引号括起来的部分是字符串
‘ ’单引号 “”双引号 ''' 三单引号 “““三双引号
空字符串字面值的表示方法:‘ ’ “” ‘‘‘’’’ “““”””
空字符串的布尔值测试值bool(x)为False
非空字符串字面值的表示方法:‘hello’.....
单引号和双引号的区别:单引号内可以包含双引号(双引号不算结束符)反之相同
例:print(“I'm a teacher”)
print('I am "zhh" ')
三引号字符串:三引号字符串中的换行会自动转换为换行符\n ;三引号内可以包含单引号和双引号
隐式字符串字面值拼接:
>>> "I'm" "a teacher" # 返回 "I'm a teacher"
用转义序列代表特殊字符:字符串中\后跟一些字符代表特殊含义:
反斜杠字符表 例: \' 代表单个单个单引号 \" 代表单个双引号 \n 代表换行
\\ 一个反斜杠 \a 响铃 \r 返回光标至行首 \t水平制表符
\v 垂直制表符 \f 换页 \b倒退 \0 空字符,字符值为零
\0oo八进制表示的字符 \xXX十六进制表示的字符
\uXXXX Unicode 16 的十六进制的字符
\UXXXXXXXX Unicode 32 的十六进制的字符
ASCII编码:$ man ascii<回车>
常用的ASCII编码:字符 十进制 十六进制
‘0’ 48 0x30
‘A’ 65 0x41
‘a’ 97 0x61
Unicode:
‘\x41’ 十六进制表示的字符A
‘\u0041’ Unicode 16 的十六进制表示的的字符A
‘\U00000041’ Unicode 32 的十六进制表示的字符A
len(x) 函数,求字符的个数:
raw 字符串(原始字符串):格式:r"字符串内容" r'字符串内容' r"'字符串内容'" r"""字符串内容"""
作用:让转移字符\无效
字符串的运算:+ += * *=
+ 加号运算用于拼接字符串 例: x = "abcd" +"efg" print(x) >>># abcdefg
+= 用原字符串与右侧字符串拼接后生产新的字符串
例: x = "abcd" y = "efg" x += y #等同于x = x + y
* 运算符生成重复的字符串:"A" *5 # AAAAA
*= 生成重复的字符串,同时改变原变量的绑定关系
例:x = "abc" x *=3 # x = "abcabcabc"
字符串的比较运算:< <= > >= == !=
例:"abc" == """abc""" # True
in / not in 运算符:
作用:in用于序列,字典,集合中,用于判断某个值是否存在于对象(通常是容器类对象)中
not in 与 in 的返回值相反
语法格式: 值 in 字符串
例: x = "welcome to tarena!" if "to" in x : print("to 存在于x中")
python运算符优先级:(自上而下,由高到低)
** 指 数
~ ,+,- 按位反转,一元正号,一元负号
*,/,//,% 乘,除.....
+, - 加法减法
>> << 左移,右移
& 位与
^ 位异于
| 位或
< <= > >= == !=,is, is not,in,not in 比较等。。。。
not 布尔非(取非)
and
or
if - else 条件表达式
索引 index
python字符串是不可以改变的序列
语法:字符串[整数值]
说明:python序列都可以用索引(index)来访问序列中的内容;序列中的正向索引是从0开始的,第二个索引为1,
最后一个为len(s)-1
序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第二个,一次类推,第一个是-len(s)
切片 slice 从字符串序列中取出相应的元素,重新组个一个字符串序列
语法:字符串[(开始索引) :(结束索引) (:(步长))] 注:()括起的部分代表可以省略
说明:1.开始索引是切片切下的位置,0代表第一个元素,1代表第二个,...-1代表最后一个
2.结束索引是切片的终止点(但不包括终止点)
3.步长是切片每次获取完当前元素后移动的方向和偏移量
3.1没有步长,相当于取值完成后向右移动位置(默认为1)
3.2当步长为正数时,取正向切片;当步长默认为1,开始索引默认为0,结束索引默认为len(s)
步长代表下一次索引取值的增长值
3.3当步长为负数时,取反向切片。反向切片时,默认的起始位置为最后一个元素,
终止位置是第一个元素的前一个位置
例:s = "abcde"
a = s[:] # a---- abcde a = s[2:] # a---- cde a = s[:2] # a---- ab
a = s[2:4] # a---- cd a = s[1:1] # a---- ""空 a = s[4:2] # a---- ""空
练习:1.输入一个字符串,打印这个字符串的第一个字符,中间的字符及最后一个字符,如果输入字符数为偶数,则中间字符输出为‘|’
2.输入任意一个字符串,判断这个字符串是否为回文:上海自来水来自海上 14841回文是指中心对称的文字
3.用字符串*运算符打印矩形,要求输入一个整数,此整数代表矩形的宽度
len用于字符串的序列函数:
len(x) 返回序列的长度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
例:s = "abc123"
print(len(s)) # 6
print(max(s)) # c
字符串编码的转换函数:
ord(str)返回一个字符的UNICODE值
chr(i) 返回一个Unicode值对应的字符
例: >>> ord("张")
24352
>>> ord("行")
34892
>>> chr(24352)
'张'
整数转为字符串函数:
hex(i):将整数转换为十六进制的字符串
oct(i):将整数转换为八进制的字符串
bin(i):将整数转换为二进制的字符串
python3 中常用的字符串方法(method):
字符串的方法调用语法:
对象.方法名 (方法传参)
例:"abc".isalpha() # 语法是对的
123.isalpha() # 语法是错的
假设字符串变量名为s:
常用字符串的方法如下:
s.isdigit() 判断字符串是否全为数字
s.isalpha() 判断字符串是否全为英文字符
s.islower() 判断字符串是否全为小写英文字符
s.isupper() 判断字符串是否全为大写英文字符
s.isspace() 判断字符串是否全为空白字符
s.center(width[,fill) 例:s = 123 s.center(7,"#")>>>>>##123##
将原字符串居中,左右默认填充空格
s.count(sub[,start[,end]]) 获取一个字符串中子串的个数
s.find(sub[,start[,end]]) 获取字符串中子串sub的索引,失败返回-1
s.strip() 返回去掉左右空白字符的字符串
s.lstrip() 返回去掉左侧空白字符的字符串
s.rstrip() 返回去掉右侧空白字符的字符串
s.title() 生成每个英文单词首字母大写的字符串
s.upper() 生成将英文转换为大写的字符串
s.lower() 生成将英文转换为小写的字符串
s.replace(old,new[,cound] 将字符串old用new代替,生成新的字符串
空白字符是指空格,水平制表符(\t),换行符(\n)等不可见字符
字符串格式化表达式:
作用:生成一定格式的字符串 运算符:%
语法:格式字符串 % 参数值 或 格式字符串 % (参数值1,参数值2,.....)
说明:格式化字符串中以%开头为占位符,占位符的位置将用参数值替换
例:fmt = "name: %s,age:%d"
name = "zhangh"
age = 28
print(fmt % (name ,age))
格式化字符串中的占位符:
%s 字符串 %r 字符串(使用repr而不是str)
%c 整数转为单个字符 %d 十进制整数
%o 八进制整数 %x 十六进制整数(字符a-f小写)
%X 十六进制整数(字符A-F大写)
%e,%E 指数表示的浮点数
%f,%F 浮点小数
%g%G 十进制的数或指数浮点数自动转换
%% 等同于一个字符%
占位符%和类型码之间的格式语法:
- 号 左对齐 + 号 正负号 0 补零
width 宽度 pricisinon 精度 (都是整数)
作用:用来记录文本信息
字符串表示方法:在非注释中凡是用引号括起来的部分是字符串
‘ ’单引号 “”双引号 ''' 三单引号 “““三双引号
空字符串字面值的表示方法:‘ ’ “” ‘‘‘’’’ “““”””
空字符串的布尔值测试值bool(x)为False
非空字符串字面值的表示方法:‘hello’.....
单引号和双引号的区别:单引号内可以包含双引号(双引号不算结束符)反之相同
例:print(“I'm a teacher”)
print('I am "zhh" ')
三引号字符串:三引号字符串中的换行会自动转换为换行符\n ;三引号内可以包含单引号和双引号
隐式字符串字面值拼接:
>>> "I'm" "a teacher" # 返回 "I'm a teacher"
用转义序列代表特殊字符:字符串中\后跟一些字符代表特殊含义:
反斜杠字符表 例: \' 代表单个单个单引号 \" 代表单个双引号 \n 代表换行
\\ 一个反斜杠 \a 响铃 \r 返回光标至行首 \t水平制表符
\v 垂直制表符 \f 换页 \b倒退 \0 空字符,字符值为零
\0oo八进制表示的字符 \xXX十六进制表示的字符
\uXXXX Unicode 16 的十六进制的字符
\UXXXXXXXX Unicode 32 的十六进制的字符
ASCII编码:$ man ascii<回车>
常用的ASCII编码:字符 十进制 十六进制
‘0’ 48 0x30
‘A’ 65 0x41
‘a’ 97 0x61
Unicode:
‘\x41’ 十六进制表示的字符A
‘\u0041’ Unicode 16 的十六进制表示的的字符A
‘\U00000041’ Unicode 32 的十六进制表示的字符A
len(x) 函数,求字符的个数:
raw 字符串(原始字符串):格式:r"字符串内容" r'字符串内容' r"'字符串内容'" r"""字符串内容"""
作用:让转移字符\无效
字符串的运算:+ += * *=
+ 加号运算用于拼接字符串 例: x = "abcd" +"efg" print(x) >>># abcdefg
+= 用原字符串与右侧字符串拼接后生产新的字符串
例: x = "abcd" y = "efg" x += y #等同于x = x + y
* 运算符生成重复的字符串:"A" *5 # AAAAA
*= 生成重复的字符串,同时改变原变量的绑定关系
例:x = "abc" x *=3 # x = "abcabcabc"
字符串的比较运算:< <= > >= == !=
例:"abc" == """abc""" # True
in / not in 运算符:
作用:in用于序列,字典,集合中,用于判断某个值是否存在于对象(通常是容器类对象)中
not in 与 in 的返回值相反
语法格式: 值 in 字符串
例: x = "welcome to tarena!" if "to" in x : print("to 存在于x中")
python运算符优先级:(自上而下,由高到低)
** 指 数
~ ,+,- 按位反转,一元正号,一元负号
*,/,//,% 乘,除.....
+, - 加法减法
>> << 左移,右移
& 位与
^ 位异于
| 位或
< <= > >= == !=,is, is not,in,not in 比较等。。。。
not 布尔非(取非)
and
or
if - else 条件表达式
索引 index
python字符串是不可以改变的序列
语法:字符串[整数值]
说明:python序列都可以用索引(index)来访问序列中的内容;序列中的正向索引是从0开始的,第二个索引为1,
最后一个为len(s)-1
序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第二个,一次类推,第一个是-len(s)
切片 slice 从字符串序列中取出相应的元素,重新组个一个字符串序列
语法:字符串[(开始索引) :(结束索引) (:(步长))] 注:()括起的部分代表可以省略
说明:1.开始索引是切片切下的位置,0代表第一个元素,1代表第二个,...-1代表最后一个
2.结束索引是切片的终止点(但不包括终止点)
3.步长是切片每次获取完当前元素后移动的方向和偏移量
3.1没有步长,相当于取值完成后向右移动位置(默认为1)
3.2当步长为正数时,取正向切片;当步长默认为1,开始索引默认为0,结束索引默认为len(s)
步长代表下一次索引取值的增长值
3.3当步长为负数时,取反向切片。反向切片时,默认的起始位置为最后一个元素,
终止位置是第一个元素的前一个位置
例:s = "abcde"
a = s[:] # a---- abcde a = s[2:] # a---- cde a = s[:2] # a---- ab
a = s[2:4] # a---- cd a = s[1:1] # a---- ""空 a = s[4:2] # a---- ""空
练习:1.输入一个字符串,打印这个字符串的第一个字符,中间的字符及最后一个字符,如果输入字符数为偶数,则中间字符输出为‘|’
2.输入任意一个字符串,判断这个字符串是否为回文:上海自来水来自海上 14841回文是指中心对称的文字
3.用字符串*运算符打印矩形,要求输入一个整数,此整数代表矩形的宽度
len用于字符串的序列函数:
len(x) 返回序列的长度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
例:s = "abc123"
print(len(s)) # 6
print(max(s)) # c
字符串编码的转换函数:
ord(str)返回一个字符的UNICODE值
chr(i) 返回一个Unicode值对应的字符
例: >>> ord("张")
24352
>>> ord("行")
34892
>>> chr(24352)
'张'
整数转为字符串函数:
hex(i):将整数转换为十六进制的字符串
oct(i):将整数转换为八进制的字符串
bin(i):将整数转换为二进制的字符串
python3 中常用的字符串方法(method):
字符串的方法调用语法:
对象.方法名 (方法传参)
例:"abc".isalpha() # 语法是对的
123.isalpha() # 语法是错的
假设字符串变量名为s:
常用字符串的方法如下:
s.isdigit() 判断字符串是否全为数字
s.isalpha() 判断字符串是否全为英文字符
s.islower() 判断字符串是否全为小写英文字符
s.isupper() 判断字符串是否全为大写英文字符
s.isspace() 判断字符串是否全为空白字符
s.center(width[,fill) 例:s = 123 s.center(7,"#")>>>>>##123##
将原字符串居中,左右默认填充空格
s.count(sub[,start[,end]]) 获取一个字符串中子串的个数
s.find(sub[,start[,end]]) 获取字符串中子串sub的索引,失败返回-1
s.strip() 返回去掉左右空白字符的字符串
s.lstrip() 返回去掉左侧空白字符的字符串
s.rstrip() 返回去掉右侧空白字符的字符串
s.title() 生成每个英文单词首字母大写的字符串
s.upper() 生成将英文转换为大写的字符串
s.lower() 生成将英文转换为小写的字符串
s.replace(old,new[,cound] 将字符串old用new代替,生成新的字符串
空白字符是指空格,水平制表符(\t),换行符(\n)等不可见字符
字符串格式化表达式:
作用:生成一定格式的字符串 运算符:%
语法:格式字符串 % 参数值 或 格式字符串 % (参数值1,参数值2,.....)
说明:格式化字符串中以%开头为占位符,占位符的位置将用参数值替换
例:fmt = "name: %s,age:%d"
name = "zhangh"
age = 28
print(fmt % (name ,age))
格式化字符串中的占位符:
%s 字符串 %r 字符串(使用repr而不是str)
%c 整数转为单个字符 %d 十进制整数
%o 八进制整数 %x 十六进制整数(字符a-f小写)
%X 十六进制整数(字符A-F大写)
%e,%E 指数表示的浮点数
%f,%F 浮点小数
%g%G 十进制的数或指数浮点数自动转换
%% 等同于一个字符%
占位符%和类型码之间的格式语法:
- 号 左对齐 + 号 正负号 0 补零
width 宽度 pricisinon 精度 (都是整数)