py的字符串知识及基本练习 12.15

来源:互联网 发布:广告市场有多大 知乎 编辑:程序博客网 时间:2024/05/30 12:30

String(字符串)

索引值以 0 为开始值,-1 为从末尾的开始位置

print(str)# 输出字符串

print(str[0:-1])# 输出第一个到倒数第二个的所有字符

print(str[0])# 输出字符串第一个字符

print(str[2:5]) # 输出从第三个开始到第五个的字符

print(str[2:])# 输出从第三个开始的后的所有字符

print(str *2)# 输出字符串两次

print(str +"TEST")# 连接字符串


Python字符串运算符

字符串截取:

可以使用中括号和下表来获取单个字符或截取字符串:

Mystr = qwertyu

Mystr[1]获取单个字符

切片字符串  Mystr[]1:5]  获取多个字符

还可逆序取Mystr[-1::-1]

Python转义字符

1. 数字:

(1) 整数不区分longint

① 十六进制0xa  十进制0o10  二进制0b10

② Bool,布尔俩个值  true  false

(2) 浮点数

① 1.2/3.1415/-0.12/1.46e9相等于1.46*10的九次方

(3) 复数  a+bj   a为实数b为虚数  例如1+2j

2. 字符串

(1) 使用单双引引用的字符的序列

(2) ‘’’  “””   单双三引号  ,可以跨行.可以在其中自由的使用单双引号

(3) 在字符串前面加上r或者R前缀.表示该字符串不做特殊的处理

3. 转义序列

(1) \\反斜杠符号  \t(横向缩进)  \v(纵向缩进)  \r(回车)  \n(换行)  \’ 单引号 \”双引号

(2) 前缀r,把的所有字符都当做是普通字符对待(取消所有特殊化)

4. 缩进

(1) 未使用c等语言的花括号,而是采用缩进的方式表示层次关系

(2) 约定使用4个空格缩进

5. 续行

(1) 在尾行使用\

(2) 如果使用各种括号,认为括号内是一个整体,内部跨行不用\

6. 标识符

(1) 一个名字,用来指代一个值

(2) 只能字母,下划线和数字

(3) 不能是python的关键字,例如def,class就不能作为标尺符

(4) Python对大小写敏感的

(5) 约定:
不许使用中文,不允许使用歧义单词,(例如class_),py中不要随便使用下划线开头的标识符

7. 常量(py没有常量,只有字面常量)

(1) 一旦赋值就不能改变值的标识符

(2) Py中无法定义常量

8. 字面常量(赋值之后可以改变)
一个单独的量,例如12,”abc”, ’23456787.12e-9’

变量
赋值后,可以改变值的标识符

字符串格式化 

%  就是为了占位  占位有类型  从后面找变量  变量可以赋值

①新增了一种格式化字符串的函数 Mystr.format(),它增强了字符串格式化的功能。 例如:  print("{}".format(22))==>22

②Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,

但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。例如: print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

详情可参考:http://www.runoob.com/python3/python3-string.html

 

Python 的字符串内建函数

.strip()  删除俩边的空格

.lstrip()  删除左边空格

.rstrip() 删除右边空格

Len(mystr)  _len_()  求字符串的长度

 

 

.Count()   统计有多少个什么字符

字符串

.Capitalize () 使某个字母大写

 

.Title () 将每一个单词首字母大写

.find()  从左边开始查找字符串  返回找到的字符串的下标

.rfind()  从右边开始查找字符串

.index()

.rindex()和find一样   但是如果查找不存在的字符串 find会返回1 而index会报错

 

.replace(“a”,”b”)替换  会把a替换成b   需要赋值才能改变原字符串

 

 

.split() 拆分  如果split  什么都不写,就是将原来字符串通过(空格,句号,逗号等)拆分成几个字符串

 

Join()  组合 将列表组成字符串 .join()

 

.Startswith()以XX开始

.Endswith()以XX结束

 

.Lower()  转成小写字母

.Upper()  转成大写字母

 

 

isalpha () 判断字符串是否是字母

isdigit()判断是否为数字

isalnum()判断是否为数字和字母




字符串的练习:

# 有四个数字 1234 能组成多少个互不相同且无重复数字的三位数 各是什么# for i in range(1,5):#     for k in range(1,5):#         for j in range(1,5):#             if i != k and i != j and k != j:#                 print(i,j,k)str1 = " w_e_r_tD84 "str2 = " w_e_r_t84D 78d"# 以下题目都要求打印最后的结果:# 1.比较这两个字符串是否相同,如果相同,打印“true”,如果不相同,打印“false”# if str1 == str2:#     print("true")# else:print("flase")# 2.找出这两个字符串从第几个位置开始不相等的,打印不相等的部分:# d = 0# for i in range(0,len(str1)):#     if str1[i] == str2[i]:#         d+=1# print('从第{}处开始不相等'.format(d))# print(str1[d-1:])# print(str2[d-1:])# 3.把str2小写字母都改成大写# str2=str2.upper()# print(str2)# 4.去掉str2两边的空格。PS:要求至少用两种方法# 1种# str2 = str2.strip()# print('去掉俩边的空格后为:',str2)# 2种# r = list(str2)# del r[str2.find(' ')]# del r[str2.rfind(' ')]# q = ''# q = q.join(r)# print('去掉俩边的空格后为:',q)# 5.str2中是否有数字,如果有都改成字母“A”# for i in str2:#     if i.isdigit() == True:#         str2 = str2.replace(i,'A')#         q = str2# print(q)# 6.把str1中第3~7位置的字符串插入到str2中的第5个位置# s = str1[3:7]# str2 = list(str2)# str2.insert(5,s)# q = ''# q = q.join(str2)# print(q)# 7.反转str2,并打印反转后的内容和字符串的长度# str2 = " w_e_r_t84D 78d"# print(len(str2))## print(str2[-1: :-1])