python字符串操作 raw字符串

字符串 str(string)

作用:用来记录文字信息,整数编码(UNICODE)
表示方法:
在非注释当中凡是用引号括起来的部分都是字符串
‘  ’		单引号
“ ”			双引号
‘‘‘  ’’’	三单引号(可以隐式折行)
“““  ”””	三双引号(可以隐式折行)

空字符串的字面值的表示方式
‘  ’		
“ ”			
‘‘‘  ’’’	
“““  ”””	
注:空字符串的布尔测试值bool(x)为False

非空字符串的字面值
‘hello’
“hello ”			
‘‘‘ hello ’’’	
“““ hello ”””	
单引号和双引号的区别:
单引号内的双引号不算结束符
双引号内的单引号不算结束符

示例:

Print(“I’m a teacher”)
Print(‘I an “wyk” ’)
三引号字符串
以’’’或”””开头,以’ ’ ’或”””结尾的字符串
作用:
三引号字符串中的换行会转换为换行符‘\n’
三引号内可以包含单引号和双引号

隐式字符串面值的拼接

“I’m Teacher . ”      ‘I am “wyk” ’
得到的字符串相当于
‘’’ I’m Teacher .  I am “wyk” ’’’
用转义序列代表特殊字符
字符串字面值中用字符反斜杠\
后跟一些字符代表特殊的一个字符
转义字符表:
\’			代表一个单引号
\’’			代表一个双引号
\n 			代表一个换行符
\\			代表一个反斜杠
\r			返回游标至行首
\t			水平制表符
\f			换页
\v			垂直制表符
\b			倒退
\0			字符串,字符值为0
\0oo		oo为两位八进制表示的字符
\xXX		XX为两位十六进制表示的字符
\uXXXX	Unicode  16的十六进制的字符
\UXXXXXXXX	Unicode  32的十六进制表示的字符

ASCII编码:

#查看ASCII编码表(0-127)
$man  ascii  #仅Linux可用
常用的ASCII编码:
字符    十进制   十六进制
‘0’		48				0x30
‘1’		49				0x31 
‘A’		65				0x41
‘a’		97				0x61

求序列的长度的函数len
len(x)返回字符串中字符的个数

字符串的练习:
‘1234abcd’ 有几个字符串 8
‘5\’4”’ 有几个字符串 4
‘\A\x34’ 有几个字符串 3
‘\n\bc\t\r’ 有几个字符串 5

raw 字符串(原始字符串)

格式;
r’’字符串内容’’
r’字符串内容’
r’’””字符串内容’’””
r’’’字符串内容’’’
作用:让转义字符”\”无效

示例:
a = “c:\abc\test.py”
Print(a)
输出:c:bc	est.py
b = “c:\abc\test.py”
Print(b)
输出: c:\abc\test.p

字符串的运算

运算符:+  +=  *  *=

+ 加号运算符用于拼接字符串

+=用于拼接运算后改变变量的绑定关系

示例:
x=”OMG”+”RNG”
Print(x)   # OMGRNG
x+=’123’
Print(x)   # OMGRNG123

*运算符生成重复的字符串

x=”ABCD”*3   #  x=’ABCDABCDABCD’
y=2* ”123”	  # 	y=’123123’
注:字符串只能和整数相乘

*=生成重复的字符串并改变变量的绑定关系

练习:
写一个程序,打印一个高度为4行的矩形方框
要求,输入个整数,此整数代表矩形的宽度。

字符串的比较大小

运算符:
<  <=  >  >=  ==  !=
示例:‘A’<‘B’  #  True

in / not in运算符
作用:
In用于序列,字典,集合,用于判断某个值是否存在于容器中,如果存在返回True,否则返回False
说明:
not  in返回结果与 in相反
格式:
对象 in 序列
示例:
x=’welcome to tarena!’
‘to’ in x   # True
‘e t’ in x  # True
‘hello’ in x  #False 

索引操作 index
Python字符串是不可以改变序列的,
所有的序列都可以通过索引获取其中的数据元素

索引语法:

字符串[整数表达式]
 	说明:
1、序列的正向索引是从0开始的,第二个索引为1,最后一个索引为len(s)-1
2、序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)

练习:

写程序输入一个字符串,打印如下内容:
1、打印这个字符串的第一个字符
2、打印这个字符串的最后一个字符
3、如果这个字符串长度为奇数,打印中间这个字符
注:
求字符串长度函数len(s)

切片操作 slice

从字符串中取出相应的元素重新组成一个字符串序列
语法:
s[(开始索引b):(结束索引e)(:(步长s))]
注:小括号()括起来的部分可以省略

说明:
1、开始索引b是切片切下的位置,0代表第一个元素,1代表第二个元素,-1代表最后一个元素. . . 
2、结束索引是切片的终止索引(但不包含终止点)
3、步长是切片每次获取完当前元素后移动的方向和偏移量
    1> 没有步长,相当于步长为1(默认为1)
    2>当步长为正整数时,取正向切片,开始索引默认为0,结束索引为最后一个元素的下一个位置
    3>当步长为负数时,取反向切片
反向切片时,默认的起始位置为最后一个元素终止位置是第一个元素的前一个位置

示例:
S=“ABCDE”
a=s[1:4]    #  a- - - - > ‘BCD’
a=s[1:]    #  a- - - - > ‘BCDE’
a=s[0:2]    #  a- - - - > ‘AB’
a=s[:2]    #  a- - - - > ‘AB’
a=s[:]    #  a- - - - > ‘ABCDE’
a=s[1:1]    #  a- - - - > ‘ ’ 空
a=s[1:4: 2 ]    #  a- - - - > ‘BD’
       |
       |
      步长
a=s[ : :2]    #  a- - - - > ‘ACE’
a=s[4:0:-1]    #  a- - - - > ‘EDCB’  (反向切片)

**序列切片秘籍:前包后不包**

练习:
1、写一个程序,输入一个字符串,把字符串的第一个字符和最后一个字符去掉,打印出处理后的字符。
2、输入任意一个字符串,判断这个字符串是否是回文
    回文示例:
    上海自来水来自海上
    ABCCBA
    12321
    回文是指中心地称的文字

Python3 当中能用于字符串的函数

len(x) 	返回字符串的长度
max(x)	返回字符串串中编码最大的字符
min(x)	返回最小值得字符

字符串编码转换函数:

ord(c)		返回一个字符c的unicode编码值
chr(i)		返回i这个值所对应的字符
示例:
Print(ord(‘A’))	#65
Print(ord(‘中’))	#20013
Print(chr(65))	#A

整数转字符串的函数

bin(i)		将整数转换为二进制字符串
oct(i)		将整数转换为八进制字符串
hex(i)		将整数转换为十六进制字符串
示例:
bin(9)  #‘0b1001’

字符串的构造(创建)函数

Str(obj=‘’) 	将对象转换为字符串

Python中常用的字符串方法(method)

方法的调用语法:
对象 . 方法名(方法传参)
详见:help(str)

字符串格式化表达式

作用:生成一等格式的字符串
运算符:%
语法格式:
格式字符串 % 参考值
或
格式字符串 % (参考值1,参考值2,. . .)
说明:
% 左侧格式字符串
% 右侧为参考值,当有多个参考值时用括号()括起来并用逗号( ,)分隔开。
格式化字符串中以%开头的为占位符,占位符的位置将用参考值替换
示例:
fmt=”name:%s,age:%d”
s=fmt%(‘wyk’,18)
Print(s) #  name:wyk,age:18

格式化字符串中的占位符和类型码

%s		字符串,使用str(x)将x转换为字符串
%r		字符串,使用repr(x)将x转换为字符串
%c		整数转化为单个字符
%d		转换为十进制整数
%o		转换为八进制整数
%x		十六进制整数(a~f小写)
%X		十六进制整数(A~F大写)
%e		指数型浮点数(e小写),如:2.9e+10
%E		指数型浮点数(E大写),如:2.9E+10
%f,%F		浮点数(小数形式)
%g,%G		十进制浮点数或指数浮点自动转换
%%		等同于一个%字符

占位符和类型码之间的格式化语法:
% [- + 0 宽度. 精度] 类型码
- :左对齐
+ :显示正号
0 :左侧空白位置补0
宽度 :整个字符串的字符个数
精度 :保留小数点后多少位(默认6位)

示例:
“%10d”  %  123		# ‘			123’
“%-10d”  %  123		#’123			’
“%10s”  %  ‘abc’  	# ‘			abc’
“%-5s”  %  ‘abc’		#’abc	  ’
“%-010d”  %  123		#’0000000123’
“%7.3f”	%3.141592535897932  # ’  3.141’
“%07.2f”	%3.141592535897932  # ’0003.14’

运用format方法

weight=60
a='qwie'
print('我的体重:{},{}'.format(weight,a))
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值