初识字符串!

本文详细介绍了Python中字符串的基本使用方法,包括字符串字面值的写法、索引访问、遍历操作,以及常用的字符串操作如长度计算、替换、分割、计数、查找索引和字符转换等。
摘要由CSDN通过智能技术生成

基本介绍

1.在python中处理文本数据是使用str对象
2.字符串字面值有三种写法:

  1. 单引号:'允许包含“双”引号’
  2. 双引号“—” 三重单引号、三重双引号
    使用三重引号的字符串可以跨越多行–其中所有的龙柏字符都将包含在该字面值。
    3.字符串是字符的容器,一个字符串可以存放多个字符。

字符串支持索引

一、适用语法
字符串名[索引]
二、举例说明
str_a=“red-green”
比如:要取出str_a字符串的第三个值/元素“d”,则通过str_a[2]就可以访问到。提示:注意索引是从0开始计算的,取出单个字符,类型仍然是字符串。

str_a = "red-green"
print("str_a的第三个值/字符是:", str_a[2], "类型是:", type(str_a))

运行结果:
在这里插入图片描述

字符串的遍历

什么是字符串的遍历呢?
就是将字符串中的每个元素依次取出,进行处理操作,就是遍历/迭代。

# 使用while和for遍历字符串
str_b = "hello!-郝小龙"
# while循环遍历
index = 0
while index < len(str_b):
    print(f"第{(index + 1)}个元素是{str_b[index]}")
    index += 1
print("-"*30)
#for遍历
for ele in str_b:
    print(ele)

运行结果如下:
在这里插入图片描述
在这里插入图片描述

注意事项和细节:

1.字符串索引必须在指定范围内使用,否则会报错,比如:str_d="hello_郝小龙"有效下标为0-9,索引也可以从尾部开始,最后一个元素的索引为-1,往前一位为-2,以此类推。
2.字符串是不可变序列,不能修改。
3.字符串长度没有限制,取决于计算机内存的大小。

str="hi-郝小龙"
#通过索引可以访问元素
print(str[3])
#不能修改元素
# str[3]="李"

运行结果:
在这里插入图片描述

常用操作

1.len(str):字符串的长度,也就是包含多少个字符
2.str.replace(old,new,[,count]):返回字符串的副本,其中出现的所有字符串old都将被替换为new,如果给出了可选参数count,则只替换前count次出现。
3.str.split(step=none,maxsplit=-1):返回一个由字符内单词组成的列表,使用step作为分隔字符串。如果给出了maxsplit,则最多进行maxspilt次拆分(因此,列表最多有maxspilt个元素),如果maxsplit未指定区域为-1,则不拆拆分次数。
4.str.count(sub):统计指定字符在字符串中出现的次数。
5.str.index(sub):从字符串中找到指定字符串第一个匹配项的索引位置。
6.str.strip([chars]):返回原字符串的副本,移除其中的前导和末尾字符,chars为指定要移除的字符串。
7.str.lower():返回字符串小写的副本。
8.sstr.upper():返回字符串大写的副本。

#演示字符串常用操作
str_names="jack tom mary hxl nono tom"
#len(str):字符串的长度,也就是包含多少个字符
print(f"{str_names}{len(str_names)}个字符")

#演示str.replace(old,new[,count])的使用
#需求:将一个“jack”替换为“杰克”,只替换一个
str_names_new=str_names.replace("jack","杰克",1)
#返回字符串的副本,表示原来的字符串不变,而是返回一个新的字符串
print("str_names_new:",str_names_new)
print("str_names:",str_names)

#对str_names按照“ ”进行分割
str_names_split=str_names.split(" ")
print(f"str_names_split内容是{str_names_split}类型是{type(str_names_split)}")
print(f"str_name内容是:{str_names}")

#str.count(sub):统计指定在字符串中出现的次数
#统计tom在字符串中出现了几次
print("tom在字符串出现的次数:",str_names.count("tom"))

#str.index(sub):从字符串中找出指定字符串第一个匹配项的索引位置
print(f"tom出现的索引是:{str_names.index('tom')}")


# #str.strip([chars]):返回原字符串的副本,移除其中的前导和末尾字符,chars为指定要移除字符串
#这个方法通常可以去除前后的空格或者去除指定的某些字符

print(" jack ".strip(" "))
print("123jack321".strip("123"))

#str.lower():返回字符串小写副本,不影响原来字符
str_names="hspHsp"
str_names_lower=str_names.lower()
print("str_names_lower:",str_names_lower)
print("str_names:",str_names)

#str_names_upper():返回原字符的副本,不影响原来的字符
str_names_upper=str_names.upper()
print("str_names_upper:",str_names_upper)
print("str_names:",str_names)

运行结果:
在这里插入图片描述
字符串的比较:

  1. 运算符:>,>=,<,<=,==,!=
  2. 比较规则:首先比较两个字符串中的第一个字符,如果相等则继续比较下一个字符,依次比较下去,直到两个两个字符串中的字符不再相等时,其比较结果就是两个字符串的所有后续字符将不在比较。
  3. 比较原理:两个字符比较时,比较是其(原码/码值),调用内置函数ord可以得到指定字符的ordinal.value与内置函数ord对应的是内置函数chr,调用内置函数chr时指定ordinal.value可以得到其对应的字符。
print(ord('1'))
print(ord('2'))
print(ord('a'))
print(ord('b'))
print(ord('郝'))
print(ord('小'))
print(ord('龙'))

print("-"*30)
print(chr(49))
print(chr(40857))

运行结果:
在这里插入图片描述

print("tom" > "hxl")  # t
print("tom" > "to")  # t
print("tom" > "tomcat")  # f
print("tom" < "郝小龙")  # t
print("tom" > "tom")  # f
print("tom" <= "tom")  # t

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Qt中,可以使用QString类的toInt()函数将字符串转换为数字。这个函数接受一个可选的基数参数,用于指定字符串的进制。默认情况下,基数为10,表示十进制。如果需要将字符串转换为其他进制的数字,可以使用QString类的setNum()函数将数字转换为字符串,并指定所需的进制。例如,要将十进制字符串转换为十六进制字符串,可以使用setNum()函数的第二个参数将基数设置为16。然后,可以使用toUpper()函数将结果转换为大写,并使用setText()函数将结果设置为控件的文本。下面是一个示例代码片段,演示了如何在Qt中实现字符串转数字的功能: ```cpp void Widget::on_btnDec_clicked() { QString str = ui->editDec->text(); int val = str.toInt(); // 将字符串转换为十进制数字 str = QString::number(val, 16); // 将数字转换为十六进制字符串 str = str.toUpper(); // 将结果转换为大写 ui->editHex->setText(str); // 设置十六进制字符串到相应的控件 str = QString::number(val, 2); // 将数字转换为二进制字符串 ui->editBin->setText(str); // 设置二进制字符串到相应的控件 } ``` 注意,以上代码是一个槽函数,当按钮被点击时执行。在代码中,editDec是一个QLineEdit控件,用于输入十进制数。editHex和editBin分别是用于显示转换结果的QLineEdit控件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [初识QT(二十六)——Qt字符串与数字之间的转换方法详解](https://blog.csdn.net/qq_35789421/article/details/99436843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值