python数据类型-字符串

1 表示方式

python单行字符串用单引号’内容’或双引号"内容"表示,
多行字符串用三引号表示,‘’‘换行内容’''或"““换行内容””",
str()函数可将其它类型转换为字符串类型

a = 'henry'
b = "Tom"
c = '''窗前明月光,
疑是地上霜'''
d = """举头望明月,
低头思故乡"""
e = str(123)
print(e, type(e))  # 123 <class 'str'>

2 转义符 ‘\’

如’\n’代表换行的意思,将其放在字符串中如不不做处理,输出文本会进行换行,如f1;
那么假如需要在文本输出时展示\n,就需要将这个特殊字符进行转移,即加上转义字符\变成\n,让其在文本中失去特殊字符地意义,如f2;

f1 = str3 = '''你好,(\n)
举头望明月,
低头思故乡。
'''
print(f)
# 结果:
# 你好,(
# )
# 举头望明月,
# 低头思故乡。
f2 = str3 = '''你好,(\\n)
举头望明月,
低头思故乡。
'''
print(f)
# 结果:
# 你好,(\n)
# 举头望明月,
# 低头思故乡。

补充:
转义字符:\ + 字符
(1)把无意义的字符变的有意义
(2)把有意义的字符变的无意义
\n:换行
\r\n:换行
\t:缩进(tab,水平制表符)
\r:把\r后面的字符串直接拉到当前行行首

3 元字符串

r+字符串,表示字符串中是什么就输出什么,不受字符串中转义字符影响。

f = str3 = r'''你好,(\\n)
举头望明月,
低头思故乡。
'''
print(f)
# 结果:
# 你好,(\\n)
# 举头望明月,
# 低头思故乡。

4 字符串运算

字符串连接符:+
两字符串包含判断:in 或者 not in
元字符串输出:r或者R+字符串

a = 'aaa'  # aaabbbaaa
b = 'bbbaaa'  # True
print(a + b)
print(a in b)

字符串索引: str[i] 输出索引位置上的字符;
字符串截取、切片:str[:] 左闭右开,str[0:2]表示:截取字符串从0到1索引的字符,不包含索引为2的字符;

a = 'henry_hu'
print(a[0])  # h
print(a[0:2])  # he strings='hello'
print (strings)          # 输出字符串,结果为:hello
print (strings[0:-1])    # 输出第一个到倒数第二个的所有字符,结果为:hell
print (strings[0])       # 输出字符串第一个字符,结果为:h
print (strings[2:5])     # 输出从第三个开始到第五个的字符,结果为:llo
print (strings[2:])      # 输出从第三个开始的后的所有字符,结果为:llo
print (strings * 2)      # 输出字符串两次,也可以写成 print (2 * str),结果为:hellohello
print (strings + "TEST") # 连接字符串,结果为:helloTEST
#注意:Python 字符串不能被改变。向一个索引位置赋值,比如 strings[0] = 'y'会导致错误。

字符串分割:.split(‘分隔符’)
字符串替换:.replace(‘被替换的内容’,‘替换的内容’)
列表元素拼接:.join(a,b) ,split会将字符串分割成列表,join可以将列表中元素进行拼接

list1 = ['hello', '你好', '小王']
​
join1_str=','.join(list1)
print(join1_str) #结果为:hello,你好,小王
​
join2_str='|'.join(list1)
print(join2_str) #结果为:hello|你好|小王

5 字符串格式化

在这里插入图片描述

通过 % 运算符进行格式化:

name = "小王"
age = 25
pi = 3.14159
message = "My name is %s and I am %d years old,I know pi is %.2f" % (name, age, pi)
print(message)  # 输出:My name is 小王 and I am 25 years old,I know pi is 3.14

使用 .format() 方法进行字符串格式化

name = "小王"
age = 25
# 写法1
message1 = "My name is {} and I am {} years old.".format(name, age)
print(message1)  # 输出:My name is 小王 and I am 25 years old.name = "小王"
age = 25
message2 = "My name is {name1} and I am {age1} years old.".format(name1=name, age1=age)
print(message2)  # 输出:My name is 小王 and I am 25 years old.

f+字符串(字符串中有上文定义的变量):输出结果中直接赋变量值,类似于C#中的$

name = "小王"
age = 25
message = f"My name is {name} and I am {age} years old."
print(message)  # 输出:My name is 小王 and I am 25 years old.# 在Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果
x = 1
print(f'{x+1=}')  # 输出:1+1=2
print(f'{x + 1}')  # 如果去掉 = , 输出:2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/246933.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是协方差矩阵?

协方差矩阵&#xff08;Covariance Matrix&#xff09;是一个用于衡量多个变量之间相互关系的工具&#xff0c;在统计学和数据分析领域中非常重要。这个矩阵展现了每一对变量之间的协方差。协方差是衡量两个变量如何一起变化的度量&#xff1b;如果两个变量的协方差是正的&…

C/C++ - Auto Reference

目录 auto Reference auto 当使用auto​​关键字声明变量时&#xff0c;C编译器会根据变量的初始化表达式推断出变量的类型。 自动类型推断&#xff1a;auto​​关键字用于自动推断变量的类型&#xff0c;使得变量的类型可以根据初始化表达式进行推导。 初始化表达式&#x…

oracle19.22的patch已发布

2024年01月16日&#xff0c;oracle发布了19.22的patch 具体patch如下 Reserved for Database - Do not edit or delete (Doc ID 19202401.9) 文档ID规则如下 19&#xff08;版本&#xff09;年份&#xff08;202x&#xff09;(季度首月01,04,07,10).9 往期patch no信息和下…

[论文阅读] |RAG评估_Retrieval-Augmented Generation Benchmark

写在前面 检索增强能够有效缓解大模型存在幻觉和知识时效性不足的问题&#xff0c;RAG通常包括文本切分、向量化入库、检索召回和答案生成等基本步骤。近期组里正在探索如何对RAG完整链路进行评估&#xff0c;辅助阶段性优化工作。上周先对评估综述进行了初步的扫描&#xff0…

每次请求sessionid变化【SpringBoot+Vue】

引言&#xff1a;花了一晚上的时间&#xff0c;终于把问题解决了&#xff0c;一开始后端做完后,用apifox所有接口测试都是可以的,但当前端跑起来后发现接收不到后端的数据。 当我写完前后端&#xff0c;主页面和获取当前页面信息接口后&#xff0c;配置了cros注解 CrossOrigin…

支持向量机(SVM)详解

支持向量机&#xff08;support vector machines&#xff0c;SVM&#xff09;是一种二分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器&#xff0c;间隔最大使它有别于感知机。 1、线性可分支持向量机与硬间隔最大化 1.1、线性可分支持向量机 考虑一个二分…

Vulnhub-dc6

信息收集 # nmap -sn 192.168.1.0/24 -oN live.port Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-25 14:39 CST Nmap scan report for 192.168.1.1 Host is up (0.00075s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nmap scan report for 192.168.1.2…

Java 字符串 10 字符串相关类的底层原理

底层原理1&#xff0c;底层原理2 底层原理3&#xff1a; 分两种情况&#xff1a; 1、等号右边没有变量&#xff1a; 2、等号右边有变量&#xff1a; 两个对象&#xff0c;一个是StringBuilder&#xff0c;一个是String&#xff0c;浪费空间&#xff0c;性能不高 在jdk8之前&am…

WinRAR压缩包高级技巧:永久设置压缩包单个或批量单独压缩成包并且不内嵌文件夹,解压保留原始时间设置

目录点击跳转&#xff1a;WinRAR压缩包高级技巧&#xff1a;永久设置压缩包单个或批量单独压缩成包并且不内嵌文件夹&#xff0c;解压保留原始时间设置 解压永久设置1 解压保存原始时间 压缩永久设置1 默认压缩成zip手机电脑都通用的格式2 默认压缩文件不多额外嵌套一层文件夹&…

Java复习系列之阶段二:数据库

1. 基础语法 1.1 DQL&#xff08;数据查询语句&#xff09; 执行顺序&#xff1a; from、join 、on、where、group by、having、select、distinct、order by、limit 1.2 DML&#xff08;数据修改语言&#xff09; 对数据表的增删改 insert into update set delete form 1.…

RTP工具改进(五)--使用qt

前篇 第四篇 RTP工具改进(四) - rtmp协议推送 前面使用的工具一直为mfc&#xff0c;今天将使用qt 来做界面&#xff0c;使用qt 来进行程序和协议的编写&#xff0c;qt部分目前还不包括rtp ps流和rtmp&#xff0c;暂时只有rtp 直接传输&#xff0c;关于rtmp协议和ps流协议&…

Qt/QML编程之路:ListView实现横排图片列表的示例(40)

ListView列表,在QML中使用非常多,排列一个行,一个列或者一个表格,都会用到ListView。 ListView显示从内置QML类型(如ListModel和XmlListModel)创建的模型中的数据,或在C++中定义的从QAbstractItemModel或QAbstract ListModel继承的自定义模型类中的数据。 ListView有一…

[GYCTF2020]Ezsqli1

打开环境&#xff0c;下面有个提交表单 提交1&#xff0c;2有正确的查询结果&#xff0c;3以后都显示Error Occured When Fetch Result. 题目是sql&#xff0c;应该考察的是sql注入 简单fuzz一下 发现information_schema被过滤了&#xff0c;猜测是盲注了。 测试发现只要有东…

(七)for循环控制

文章目录 用法while的用法for的用法两者之间的联系可以相互等价用for改写while示例for和while的死循环怎么写for循环见怪不怪表达式1省略第一.三个表达式省略&#xff08;for 改 while&#xff09;全省略即死循环&#xff08;上面已介绍&#xff09; 用法 类比学习while语句 …

mac配置L2TP连接公司内网

1. 打开系统设置 2. 打开网络 3. 点击网络页面其他服务右下角三个点&#xff0c;添加VPN配置中的L2TP 4. 配置VPN&#xff0c;服务器填写公司的服务器ip&#xff0c;共享密钥没有可以随便填写 5. 打开终端编辑文件 sudo vim /etc/ppp/opt…

华为机考入门python3--(4)牛客4-字符串分隔

分类&#xff1a;字符串 知识点&#xff1a; 复制符号* 复制3个0 0*3 000 字符串截取 截取第i位到j-1位 str[i:j] 题目来自【牛客】 input_str input().strip()# 先补齐 if len(input_str) % 8 ! 0: input_str 0 * (8 - len(input_str) % 8) # 每8个分 out…

哪些 3D 建模软件值得推荐?

云端地球是一款免费的在线实景三维建模软件&#xff0c;不需要复杂的技巧&#xff0c;只要需要手机&#xff0c;多拍几张照片&#xff0c;就可以得到完整的三维模型&#xff01; 无论是大场景倾斜摄影测量还是小场景、小物体建模&#xff0c;都可以通过云端地球将二维数据向三…

matplotlib实现动画效果

实现正弦波动画 import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation import numpy as np# 创建图像和轴 fig, ax plt.subplots()# 生成平均分布在0~2*pi之间的100个坐标点 x_data np.linspace(0, 2 * np.pi, 100) # 画出初始图 line, ax.plo…

【鸿蒙】大模型对话应用(一):大模型接口对接与调试

Demo介绍 本demo对接阿里云和百度的大模型API&#xff0c;实现一个简单的对话应用。 DecEco Studio版本&#xff1a;DevEco Studio 3.1.1 Release HarmonyOS API版本&#xff1a;API9 关键点&#xff1a;ArkTS、ArkUI、UIAbility、网络http请求、列表布局 官方接口文档 此…

21.Arrays类

Arrays类 1. 概述2. 常见方法3. sort 方法的自定义排序4. 代码示例5. 输出结果6. 注意事项 具体信息请查看 API 帮助文档 1. 概述 Arrays类是Java中的一个工具类&#xff0c;位于java.util包中。 它提供了一组静态方法&#xff0c;用于操作数组。通过Arrays类&#xff0c;我们…