三、python字符串

一、字符串的含义

引号括起来的数据类型就是字符串

引号可以是单引号‘’、双引号“”、三引号""" 

三引号什么时候是注释(没有代码引用是注释)什么时候是字符串呢(后面需要用到的时候是字符串)

三引号还可以表示多行字符串

srt1 = 'hello'
srt2 = "world"
str3 = '''python'''
str4 = """java"""
str5 = """
这是第一行;
这是第二行;
这是第三行。
"""

注意:

1).引号嵌套的时候 单引号只能嵌套双引号 双引号只能嵌套单引号 三引号没有区别

2).三引号可以做多行注释的作用

3).三引号可以保持字符串的格式 双引号需要依赖连接符来连接换行()

 
二、成员运算(in、not in)
names = "zjx学习Python"
print("zjx" in names)    # True
print("Pon" in names)    # False
print("Pon" not in names)    # True

三、字符串拼接(+)

family_name="jing"
last_name="xue"
print(family_name + last_name)    # jingxue

四、字符串重复*

name="zjx"
print(name*2)   # zjxzjx

五、字符索引

索引从左边是从0开始的,从右边数-1开始
name="zhangjingxue"
print(name[0])   # z
print(name[-1])  # e
print(name[50])  # 索引超出范围 会报错:IndexError: string index out of range
六、获取字符串的长度len
name="zhangjx"
name_len = len(name)
print(name_len)   # 7

七、字符串切片

获取字符串的多个元素

如何表示:name[切的起始点:切的终点]

注意:包含起点,不包含终点(取左不取右,右边的+1)

name = "zjx  Python"
print(name[0:3])   # zjx

name[起点:终点:步长] 

步长不写的时候默认为1

num="010101010101"
print(num[0:5:2]    # 000
print(num[1:5:2]    #11

注意:切片当中超出范围不报错,表示取完的意思

变量名[start:end:step]

start:可以省略,最开始的地方,0或-1

end:可以省略,一直取到最后

step:可以省略,默认为1

start和end可以同时省略,全部取完,从开始到最后  name[:]

name[:] 可以复制原来的文本

print(name)只是输出原字符串

步长为负数

print(name[3:1]----->结果为空,指令不一致,但不报错

print(name[3:1:-1]----->

总结:什么时候才能去取到数?

      1)判断end-start 是正数还是负数

      2)查看步长step是正数还是负数

      3)符号一致才能取到数

注意:print(name[2:2])---->结果为空,指令不一致,但不报错

   print(name[-2:-4:-1]

 
八、字符串格式化

{}的意思是占位符,里面是空的话默认顺序取值

name="小样儿"
age = 18
sex = ""
print("""
我的名字:{}
我的年龄:{}
我的性别:{}
""".format(name,age,sex))
'''结果: 我的名字:小样儿 我的年龄:18 我的性别:女'''

{}的意思是占位符,里面有数字的话默认顺序format的对应的索引

name="小样儿"
age = 18
sex = ""
print("""
我的名字:{2}
我的年龄:{0}
我的性别:{1}
""".format(name,age,sex))

'''结果:
我的名字:女
我的年龄:小样儿
我的性别:18'''

{}的意思是占位符,里面可以加标记,format的对应的也要加标记

name="小样儿"
age = 18
sex = ""
print("""
我的名字:{MZ}
我的年龄:{NL}
我的性别:{XB}
""".format(MZ=name,NL=age,XB=sex))

'''结果:
我的名字:小样儿
我的年龄:18
我的性别:女'''

九、字符串函数

1)大小写字母转换:

a="hello Python"
print(a.upper())        #HELLO PYTHON    upper:字符串中所有字母转大写
print(a.lower())        #hello python    lower:字符串中所有字母转小写,
print(a.title())        #Hello Python    title:字符串中首字母大写
print(a.capitalize())   #Hello python    capitalize:字符串中第一个字母大写 
print(a.swapcase())     #HELLO pYTHON    swapcase:字符串中大小写互换 

2)replace():替换某个字符

a="小样儿真是666"
b = a.replace("小样儿","zjx")
print(b)   # zjx真是666

3)fing():查找执行字符串,找到该字符串的索引位置,不能找到返回-1

a="小样儿真是666"
index = a.find("")
print(index)  # 0
index = a.find("")
print(index)  # -1

4)index():查找执行字符串,找到该字符串的索引位置,不能找到会报错,ValueError值错误 

a="小样儿真是666"
index = a.index("")
print(index)  # 0
index = a.index("")
print(index)  # ValueError: substring not found

 index(),find()都是找字符串的索引,注意区别:

1.相同点,都是查找索引值

2.不同点:在查找不对目标串的情况下,find()会返回-1,index()是报错-valueerror:substring not found

5)count():查找字符串的次数

a="小样儿真是666"
print(a.count("6"))   # 3

6)join():字符串的拼接,是split()方法的逆方法

注意:需要被连接的序列元素都必须是字符串.

a=",".join(["zjx","learn","python"])
print(a)      # zjx,learn,python

7)split():字符串的拆分,是join()的逆方法

b = "zjx,learn,python"
c = b.split(",")
print(c)     # ['zjx', 'learn', 'python']

8)strip():去掉字符串两边的空格

注意:不加参数是除去字符串两侧的空格(不含字符串中间的空格)

   加参数,是除去两侧的需要去掉的字符

d= "   ds   dad   fs ds    "
print(d.strip())     #ds   dad   fs ds

9)isdigit():检测字符串是否只由数字组成,返回布尔型True或False

a='mfhj'
print(a.isdigit())   # False
 
 
 
 
 
原文地址:https://www.cnblogs.com/zhangjx2457/p/13605955.html