字符串

字符串的简单介绍

1、在Python中,只要用引号括起来的数据即为字符串

2、字符串的索引值从0开始

my_str = 'hello'  # 输出字符串中索引值为0的字母
print(my_str[0])  -> 输出为h

3、索引值也可以为负数,则表示字符串从后往前取值。负数索引值从-1开始

my_str = 'hello'  # 输出字符串中索引值为-1的字母
print(my_str[-1]) -> 输出为o

4、我们可以通过len()函数获取字符串的长度,得到的长度-1即为字符串最后一个字符的索引值

my_str = 'hello'  
last = len(my_str)-1
print(my_str[last])

5、切片即为获取字符串中的某一段。具体方法为
变量名 [ 起始下标(默认0): 结束下标(默认取到最后一位): 步长(默认1)]

my_str = 'hello'
word1 = my_str[1:3:2]  # 取下标在1-3之间的值,步长为2
print(word1)  -> 输出e
word2 = my_str[:3]  # 取下标在0-3之间的值,步长为1
print(word2)  -> 输出hel
word3 = my_str[::2]  # 取整个字符串中的值,步长为2
print(word3)  -> 输出hlo

字符串的应用

1、找出字符对应的下标,用.index()函数或.find()函数
这两个函数皆为从前往后(从左往右)找,且当一个字符在字符串中出现一次以上时,函数只返回第一次出现时的下标

my_str = 'hello'
a = my_str.index('e')
b = my_str.find('l')
print(a,b)  -> 返回1 2

2、上方介绍的为从左往右找索引,如想用从右往左的方法,即返回该字符在字符串中最后一次出现时的下标,可以使用.rindex()或.rfind()函数。当在函数前面加上r(即right)时,表示方向的变化

my_str = 'have a good day'
a = my_str.rindex('a')
b = my_str.rfind('o')
print(a)  -> 返回13
print(b)  -> 返回9

3、用.index()和.find()的区别:当字符串中没有所输入的字符时,.index()会报错,而.find()则会返回-1

4、可以用.count()统计字符在字符串中出现的次数

5、可以用.replace()函数替换字符串中的数据,具体为.replace(原字符串内容,新内容,替换的个数)。该函数会返回一个新的字符串

my_str = 'hello'
a = my_str.replace('l','x',1)  #将原字符串中的第一个l替换成x
print(a)

6、字符串的分割可以用.split(),括号内可以为空,默认将字符串中由空格分割的字符进行拆分。也可输入用其他在字符串中用于分割的符号,如逗号等。输出的数据类型为列表

my_str = 'hello, world'
a = my_str.split(',')
print(a)  -> 输出['hello', ' world']

7、字符串单词首字母大写用.capitalize(),但只是在字符串的第一个单词的首字母大写,其他单词首字母不变

my_str = 'hello, world'
a = my_str.capitalize()
print(a)  - > 输出Hello, world

8、若要字符串中所有单词首字母皆大写,用.title()

my_str = 'hello, world'
b = my_str.title()
print(b)  -> 输出Hello, World

9、小写转大写用.upper();大写转小写用.lower()

my_str = 'HELLO, world'
a = my_str.upper()
b = my_str.lower()
print(a)  -> 输出HELLO, WORLD	
print(b)  -> 输出hello, world

9、将多行字符串分割用.splitlines()

my_str = '''hello
world
'''
a = my_str.splitlines()
print(a)  -> 输出['hello', 'world']

10、去掉字符串首位的空格或其他符号,用.strip(),括号内即填写需要去掉的符号。不填写时,默认去掉空格

my_str = ',,,hello world,,,'
a = my_str.strip(',')
print(a)  -> 输出hello world

11、只去掉字符串左侧或右侧的符号,用.lstrip()或.rstrip()

my_str = ',,,hello world,,,'
a = my_str.lstrip(',')
b = my_str.rstrip(',')
print(a)  -> 输出 hello world,,,
print(b)  -> 输出 ,,,hello world

12、判断字符串是否为数字用.isdigit(),判断字符串是否为字母用.isalpha(),返回值为True或False
但需注意,只有当字符串中只有数字或字母,没有其他符号时,条件判断才会返回True

my_str = 'helloworld'
my_str2 = 'hello world'
a = my_str.isalpha()
b = my_str2.isalpha()
print(a)  -> 输出True
print(b)  -> 输出False

13、判断字符串是否包含数字或字母,用.isslnum()
需注意,在字符串中仅包含数字或字母时才为True

my_str = 'HELLOworld2'
my_str2 = 'HELLO world 2'
a = my_str.isalnum()
b = my_str2.isalnum()
print(a)  -> 输出True
print(b)  -> 输出False

14、字符串的遍历用for…in语句获取

15、需要同时获取字符串中的字符和下标时,可用for index, value in enumerate()

my_str = 'hello'
for index, value in enumerate(my_str):
    print(index,value)

16、字符串的方法:
用’{}{}’.format(str1, str2),两个大括号中可以为空,那么则和format后括号内的字符串一一对应;也可以在大括号内写上下标,则表示format后括号内的字符串在新拼接成的字符串中的下标

my_str = 'hello'
my_str2 = 'world'
a = '{}{}'.format(my_str, my_str2)
print(a)  -> 输出helloworld

在大括号中也可以填写变量名,但在format后的括号内必须将大括号中的变量与其中的字符串进行对应

my_str = 'hello'
my_str2 = 'world'
a = '{a}{b}'.format(a=my_str, b=my_str2)
print(a)  -> 输出helloworld

用占位符的方法

my_str = 'hello'
my_str2 = 'world'
result = '%s'%(my_str + my_str2)
print(result)

最简单的,字符串是可以相加的,相加后得出的结果即为拼接后的字符串

17、在字符串的切片中,如果想从后往前取,即起始值、结束值为负数时,步长必须设置为负数

18、由此可以推测,如想输出倒序的字符串,可以用下列方法

my_str = 'hello'
a = my_str[::-1]
print(a)  -> 输出olleh
### 构建 Ubuntu 22.04 on RK3568 #### 准备工作 为了成功在RK3568平台上编译并安装Ubuntu 22.04,需先准备必要的工具链和依赖项。确保开发主机已正确配置好交叉编译环境以及相关软件包。 对于基于Windows系统的开发者来说,在WSL环境下可以按照以下方式导入Ubuntu镜像[^2]: ```bash wsl --import Ubuntu-22.04 "D:\Ubuntu2204" "D:\ubuntu22.04.tar" ``` #### 获取源码与初始化构建环境 针对RK系列芯片组特别是RK3568, 可以从官方获取对应的Linux内核版本,并对其进行定制化编译。具体操作如下所示: 下载适用于目标平台的内核源代码之后,利用Makefile来指定架构参数完成初步配置过程[^3]: ```bash make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 rockchip_linux_defconfig ``` 接着继续执行完整的编译流程: ```bash make -j$(nproc) CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 Image dtbs modules ``` #### 安装根文件系统 当完成了内核部分的工作后,则需要着手处理用户空间程序集即所谓的“rootfs”。这里推荐采用Debian系发行版作为基础,因为其社区活跃度高且兼容性强。值得注意的是默认情况下会禁用Root用户的SSH密码认证功能;如果确实有需求的话也可以手动调整相应设置[^5]。 另外一种方法是从预构建好的映像入手,这通常更适合初学者或是那些希望快速启动项目的团队成员们。例如使用QEMU模拟器加载现成的ARM64位虚拟机磁盘镜像来进行测试验证等工作。 #### 设置图形界面 (可选) 假如计划部署带有GUI的应用场景,那么还需要额外考虑桌面环境的选择问题。Xfce是一个轻量级而又不失美观性的选项之一,适合资源受限的小型嵌入式装置选用[^1]。 最后一步就是将生成的结果烧录到实际硬件当中去啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值