python 字符串学习笔记str

字符串类型:

说明:今日讲解的内容只包含字符串所需知识的50%,还有50%后续再讲(函数)

2.1.字符串数据的特点:
1).是不可变的数据类型
2).它是容器类型数据,有长度,也有下标/索引(index)

掌握如下几个概念:
1).开始索引     0表示
2).结束索引     -1表示/length-1

如何访问字符串数据?
访问分为两部分考虑!!
1).获取字符串中的某个元素
    通过字符串名字配合下标得到想要的元素内容    例如:str1[-1]
2).设置字符串中的元素
    是不可以的,原因:字符串不可变

2.2.常见的一些错误

1).下标越界了 --> 运行时异常

错误类型:IndexError 理解:下标越界了
【注意】左右边界都有可能超出,所以要避免...

代码如下:错误现象
   str1 = 'abcdefg123'
   print(str1[10])
   print(str1[-11])

2).字符串一旦定义了,不能改变其任何元素的内容

错误类型:TypeError 理解:字符串是不可变的数据类型,一旦定义了,不能单独修改其某个元素的内容
但是我们可以直接给变量赋一个新的字符串数据,此操作可以认为是直接改变了内存中的引用地址,这是合法的...

代码如下:错误现象
   str1 = 'abcdefg123'
   str1[2] = 'C'
   print(str1)


2.3.字符串的切片操作

字符串的切片操作:
作用:可以得到原字符串中某索引开始到某索引结束范围内的子串,
      原串不变(不受到影响)
格式:字符串名[start:end:step]
解释:
    start:起始索引
    end:结束索引
    step:步长     默认为1
    
【注意事项】
    切片操作,满足含特头不含尾的点(计算机领域99%的情况)     举例:str1[2:5]  --> 范围:[2,5) 

代码如下:
   str2 = "唧唧复唧唧,木兰当户织,不闻机杼声,惟闻女叹息"

   # print(len(str2))
   str3 = str2[3:5]
   # print(str3,type(str3))
   # print(str2)
   print(str2[5:])
   print(str2[:5])
   print(str2[:-5])
   print(str2[2:-2])
   print(str2[:10:2])
   print(str2[::])
   print(str2[:])
   print(str2[::-1])
   print(str2[-7:11:-1])


2.4.字符串的定义

如果字符串的内容比较少,我们可以使用单个单/双引号开始和结尾来定义,
但是如果字符串的内容比较多,而且还需要以我自定义的样式进行打印显示的话,
我们可以使用三个单/双引号开始和结束来定义

符号:和注释相同  '''...'''    """..."""  注意:需要有变量来接受

代码如下:
   content = '''遥想公瑾当年,小乔初嫁了;
      雄姿英发,羽扇纶巾;
      谈笑间,樯橹灰飞烟灭
      '''

   content = """遥想公瑾当年,小乔初嫁了;
      雄姿英发,羽扇纶巾;
      谈笑间,樯橹灰飞烟灭
      """

2.5.转义字符

以下内容涉及到转义字符的使用:
什么是转义字符?    
在python语言中已经失去其原本含义,比如不想将n表示为n,将其转义\n就表示为换行了;

常用的转义字符如下:
\n:换行符
\t:制表符
\":双引号
\':单引号
\b:退格

r的作用以及使用场景:
如果字符串记录的是一串物理地址,那么地址内容中可能涉及到转义字符的存在,
但是在路径层面是不允许转义的,所以我们需要将转义字符的含义全部剔除,
只需要在路径第一个引号的前面显示的定义一个r即可

代码如下:
   address = "D:\\baisc\\tpython1808\\day02\\hello.html"
   address = r"D:\baisc\tpython1808\day02\hello.html"

   print(address)

2.6.字符串的*和+操作:
对于*操作而言:将字符串数据连续执行多次
对于+操作而言:将两个字符串数据拼接起来,得到一个更长的串

代码如下:
   content = "猥琐发育别浪"

   print(content * 5)
   print('*' * 50)
   print(content + ',灭团了')

2.7.占位符

占位符的使用:
作用:如果字符串中某些元素的内容一开始并不确定,我们可以先用占位符占个位置,
     等到之后明确了数据内容,再讲数据放入到占位符中;

分类学习:

第一类:百分号原则
符号:
%d:表示整数数据字符
%f:表示浮点数据字符
%s:表示字符数据(万能符)


第二类:format()传参的方式来实现/大括号原则
注意:format()函数不是内置函数,它属于str的函数,必须通过str.的形式进行调用

代码如下:
   name = "韩梅梅"
   age = 23
   height = 165.5
   print("姓名:%s,年龄:%d岁,身高:%.1fcm" %("李雷",25,175.5))
   print("姓名:%s,年龄:%010d岁,身高:%.1fcm" %("李雷",25,175.5))
   print("姓名:%s,年龄:%d岁,身高:%.1fcm" %(name,age,height))

   print('-' * 60)

   print('我是:{},最喜欢的男歌星:{},最喜欢看的电影是:{},我最喜欢的老师是:{}'.format('班长','tfboys','铁血战士','老郭'))
   print('我是:{3},最喜欢的男歌星:{1},最喜欢看的电影是:{0},我最喜欢的老师是:{2}'.format('小电影','张学友','苍老师','班长'))
   print('我是:{name},最喜欢的男歌星:{star},最喜欢看的电影是:{film},我最喜欢的老师是:{teacher}'.format(teacher='小泽老师',star='刘德华',name='班长',film='老郭的教学视频'))


补充占位符:
%o: 将十进制数据转换为八进制数据
%x: 将十进制数据转换为十六进制数据

猜你喜欢

转载自blog.csdn.net/qq_31864971/article/details/83587891