字符串属于高级数据类型说明
通过上面的图片可以知道,字符串按照存储的数据结构,其实是属于高级数据类型;基本数据类型,比如数字、布尔,它们这种数据是原子性数据,拆无可拆;字符串的存储方式是容器类型,是有序的,在内存中开辟一个空间,是连续存储的;所以才可以对字符串进行序列操作, 才有索引的属性;
字符串的转义符
转义符就是反斜杠\, 顾名思义,就是把原来的意义做个改变;
转义有两层含义:
1. 将一些普通符号赋予特殊功能,比如\n,\t等
2. 将一些特殊符号变为普通符号,比如",\等
\n
:换行符,表示在字符串中创建一个新行。
\t
:制表符,表示在字符串中插入一个水平制表符(Tab)。
\b
:退格字符,b代表backspace,可以把一个退格符看成一个backspace键
\"
:双引号,用于在字符串中包含双引号字符。
\'
:单引号,用于在字符串中包含单引号字符。
\\
:反斜杠,用于在字符串中包含反斜杠字符本身。
我们还可以通过 raw-string 使用,告诉python这是原生字符串
格式化输出
Python有两种方式可以做格式化输出;
-
%占位符,这种方式很少使用了
-
f-string 格式,现在主要使用这种方式,不过需要Python3.6以及以上版本,{}里面放的是表达式
字符串序列操作
- 索引和切片
在编程中,索引(Index)和切片(Slice)是用于访问和操作序列(如字符串、列表、元组等)中元素的常用操作。
字符串属于序列类型,所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。
索引:获取某个字符
s = "hello yuan"
print(s[0]) # "h"
print(s[-1]) # "n"
切片
s = "hello yuan"
print(s[2:5]) # 输出"1lo"
print(s[:5]) # 输出"hello"
print(s[6:-1]) # 输出"yua"
print(s[6:]) # 输出"yuan"
print(s[:]) # 输出"hello yuan"
print(s[-1:-3:-1])
print(s[::-1]) # 输出“hello yuan”
获取长度,即元素个数
s = "hello yuan"
print(len(s)) # 10
+、*拼接
s1 = "hello"
s2 = "yuan"
print(s1 + " " + s2)
print("*" * 100)
in判断:表示在不在,返回布尔值
s = "hello yuan"
print("yuan" in s) # True
not in 表示是否不在,返回布尔值
字符串内置方法
内置方法有归属对象,这儿是字符串对象
strip()
- 不加参数,默认会消左右两端的空格或者换行符
- 加了参数,会消左右两端的参数
- rstrip() 表示只消右边
- lstrip() 表示只消左边