Python-深入不出的字符串

news2024/11/15 9:57:28

深入不出的字符串

字符串是由独立字符组成的一个序列,通常包含在单引号(‘’)双引号
(“”)或者三引号之中(‘’’ ‘’'或"“” “”",两者一样),比如下面几种写法。

一些基础概念

name = 'jason'
city = 'beijing'
text = "welcome to jike shijian"

打印出来的结果也就是上面的样子。


这里定义了 name、city 和 text 三个变量,都是字符串类型。我们知道,Python 中单引
号、双引号和三引号的字符串是一模一样的,没有区别,比如下面这个例子中的 s1、s2、
s3 完全一样。

s1 = 'hello'
s2 = "hello"
s3 = """hello"""
s1 == s2 == s3
True

Python 同时支持这三种表达方式,很重要的一个原因就是,这样方便你在字符串中,内嵌
带引号的字符串。比如:

"I'm a student"

Python 的三引号字符串,则主要应用于多行字符串的情境,比如函数的注释等等。

同时,Python 也支持转义字符。所谓的转义字符,就是用反斜杠开头的字符串,来表示一
些特定意义的字符。

在这里插入图片描述
下面这是一个简单的例子演示:


s = 'a\nb\tc'
print(s)
输出:
a
b 		c

这段代码中的’\n’,表示一个字符——换行符;'\t’也表示一个字符——横向制表符。
所以,最后打印出来的输出,就是字符 a,换行,字符 b,然后制表符,最后打印字符 c。
不过要注意,虽然最后打印的输出横跨了两行,但是整个字符串 s 仍然只有 5 个元素。

看:


len(s)
5

一些常用的操作

py的字符串跟Java的字符串差不多, 所以特性都基本类似的.

支持索引,切片和遍历等等操
作。

name = 'jason'
name[0]
'j'
name[1:3]
'as'

和其他数据结构,如列表、元组一样,字符串的索引同样从 0 开始,index=0 表示第一个
元素(字符),[index:index+2] 则表示第 index 个元素到 index+1 个元素组成的子字符
串。
遍历字符串同样很简单,相当于遍历字符串中的每个字符。


for char in name:
 print(char) 
j
a
s
o
n

Python 的字符串是不可变的(immutable)。


这个跟Java一样. 就不多说的. 你用字符串截取然后替换掉该位置的属性, 都是不支持的.

Python 中字符串的改变,通常只能通过创建新的字符串来完成。比如上述例子中,想
把’hello’的第一个字符’h’,改为大写的’H’,我们可以采用下面的做法:


s = 'H' + s[1:]
s = s.replace('h', 'H')
  • 第一种方法,是直接用大写的’H’,通过加号’+'操作符,与原字符串切片操作的子字符
    串拼接而成新的字符串。
  • 第二种方法,是直接扫描原字符串,把小写的’h’替换成大写的’H’,得到新的字符串。

使用加法操作符’+='的字符串拼接方法。

str1 += str2 # 表示 str1 = str1 + str2

此外,常见的函数还有:
string.strip(str),表示去掉首尾的 str 字符串;
string.lstrip(str),表示只去掉开头的 str 字符串;
string.rstrip(str),表示只去掉尾部的 str 字符串。

python字符串的使用方法, 结合api文档或者源码, 有事半功倍的效果.

平常的学习要记得多查多看多想…

格式化

比如


print('no data available for person with id: {}, 
name: {}'.format(id, name))

就是相当于按照一个模板类型输出,

其中的 string.format(),就是所谓的格式化函数;而大括号{}就是所谓的格式符,用来为后
面的真实值——变量 name 预留位置。如果id = ‘123’、name=‘jason’,那么输出便
是:

'no data available for person with id: 123, 
name: jason'

最后总结一下

总结一下:

  • Python 中字符串使用单引号、双引号或三引号表示,三者意义相同,并没有什么区别。
    其中,三引号的字符串通常用在多行字符串的场景。
  • Python 中字符串是不可变的(前面所讲的新版本 Python 中拼接操作’+='是个例
    外)。因此,随意改变字符串中字符的值,是不被允许的。
  • Python 新版本(2.5+)中,字符串的拼接变得比以前高效了许多,你可以放心使用。
  • Python 中字符串的格式化(string.format)常常用在输出、日志的记录等场景。

ok,那就先这样.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

感觉被榨干了,被美团拷打一小时...

普通本科毕业后,进了一家互联网公司,这几年里不断在积累经验,最终选择跳到美团,涨薪了50%,下面分享一下我个人的面经和一些心得建议。 面经 面团一面 自我介绍专业技能一条条核对下来 有软件测试流程、用例设计方法…

Layui项目实战

使用语言&#xff1a;C#&#xff0c;Js&#xff0c;Html 使用框架&#xff1a;MVC&#xff0c;Layui 使用插件&#xff1a;JQuery&#xff0c;Layui 一.Layui父窗体前端代码&#xff1a; 1.Html代码&#xff1a; <div class"layui-col-md12" style"paddin…

如今做泛娱乐出海,你需要融云《社交泛娱乐出海作战地图》

出海需要的从来都不是上头&#xff0c;而是专业。关注【融云全球互联网通信云】了解更多 星期四的下午&#xff0c;笔者收到了一份特殊的“投喂”——一份详实到出乎意料的《社交泛娱乐出海作战地图》&#xff08;下称《作战地图》&#xff09;。 内容上&#xff0c;它覆盖了从…

英语、数学不精,还可以选择IT行业吗?

临近毕业季择校季&#xff0c;又有一群小伙伴面临着无法确定专业选择方向的难题。 就IT行业来说&#xff0c;有很多同学会有这样的疑问&#xff1a; 对计算机专业的不是十分了解&#xff0c;能学吗&#xff1f; 之前数学不太好&#xff0c;怎么学编程&#xff1f; 学编程对…

Python 接口测试之Excel表格数据操作方法封装

引言 我们在做接口测试&#xff0c;经常会用到excel去管理测试数据&#xff0c;对Excel的操作比较频繁&#xff0c;那么使用python如何操作Excel文件的读与写呢&#xff1f;由于之前讲的都是大的框框&#xff0c;没有讲这么小的模块使用&#xff0c;现在就化整为0的讲解。 读…

黑客工具软件大全

黑客工具软件大全100套 给大家准备了全套网络安全梓料&#xff0c;有web安全&#xff0c;还有渗透测试等等内容&#xff0c;还包含电子书、面试题、pdf文档、视频以及相关的网络安全笔记 &#x1f447;&#x1f447;&#x1f447; 《黑客&网络安全入门&进阶学习包》 &a…

深度学习笔记之Seq2seq(三)注意力机制的执行过程

深度学习笔记之Seq2seq——注意力机制的执行过程 引言回顾&#xff1a;经典 Seq2seq \text{Seq2seq} Seq2seq模型中 Context \text{Context} Context向量的缺陷注意力机制的动机 Seq2seq \text{Seq2seq} Seq2seq中的 Attention \text{Attention} Attention结构注意力模型的数学…

chatgpt赋能python:Python如何合并集合?

Python如何合并集合&#xff1f; 在Python编程中&#xff0c;合并多个集合是一项常见的任务。集合合并在数据处理和分析领域中极为常见&#xff0c;例如在合并用户数据时&#xff0c;需要将多个相同字段的集合合并为一个完整的集合。 本文将介绍如何在Python中合并集合&#…

【语音之家】AI产业沙龙 —— 解读火山语音团队在国际顶会ACL2023的创新突破

由CCF语音对话与听觉专委会 、中国人工智能产业发展联盟&#xff08;AIIA&#xff09;评估组、火山语音、语音之家、希尔贝壳共同主办的【语音之家】AI产业沙龙——解读火山语音团队在国际顶会ACL2023的创新突破&#xff0c;将于2023年6月14日19:00-20:20线上直播。 沙龙简介 …

JVM中方法区、永久代、元空间详解以及关系?

首先我们需要先复习一下jvm的大致内存图&#xff0c;如下&#xff1a; 哦~ &#xff0c;想起来了&#xff0c;原来方法区属于jvm的运行时数据区&#xff0c;且作用就是存储类信息、方法信息、常量池信息等静态数据。 &#xff08;补充一下&#xff1a;运行时数据区中的红色是指…

​跨部门网络搭建,核心在这30行里

大家好&#xff0c;我的网工朋友。 在企业网络中&#xff0c;想要实现跨部门的VLAN互联互通&#xff0c;其实有很多方式。 你可以通过子接口实现&#xff0c;也可以通过VLAN-Interface实现。但在实际工作中&#xff0c;很多网工朋友&#xff0c;遇到这种情况&#xff0c;很容…

【Selenium2+python】自动化unittest生成测试报告

前言 批量执行完用例后&#xff0c;生成的测试报告是文本形式的&#xff0c;不够直观&#xff0c;为了更好的展示测试报告&#xff0c;最好是生成HTML格式的。 unittest里面是不能生成html格式报告的&#xff0c;需要导入一个第三方的模块&#xff1a;HTMLTestRunner 一、导…

java小技能: 使用response方式下载txt文件(使用response的方式进行文件的传输)

文章目录 引言I 后端代码1.1 思路1.2 封装1.3 用法1.4 防止文件名称中文乱码1.5 指示哪些报头可以公开 Access-Control-Expose-Headers1.6 创建目录II 前端下载文件引言 项目需求:进行txt文件的下载 其他思路:写好文件在下载的方式 本文思路:使用response的方式进行文件的传…

【实战】minigpt4的体验和微调

MiniGPT-4 https://github.com/vision-cair/minigpt-4 1 环境配置 1.1 安装环境 git lfs install //如果报错 &#xff1a;git: lfs is not a git command. See git --help. //尝试使用&#xff1a; sudo apt-get install git-lfs git lfs install1.2 准备Vicuna权重 &…

树的概念和性质

文章目录 树的基本概念树的定义和术语树的遍历树的种类 二叉树二叉搜索树AVL 树红黑树 完全二叉树和满二叉树哈夫曼树 多叉树B 树及其变种B 树B 树和 B* 树 目录 树的基本概念 树的定义和术语 树是由零个或多个结点组成的具有层级关系的数据结构。 当树的结点数量等于零时&a…

暴力递归到动态规划(四)

⭐️前言⭐️ 本篇文章是从暴力递归到动态规划篇目的最后一篇文章&#xff0c;包含了几道题目还有最终的大总结&#xff0c;相信这篇文章能让各位读者对动态规划有更深一步的了解。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601…

使用大型语言模(LLM)构建系统(五):输出结果检查

今天我学习了DeepLearning.AI的 Building Systems with LLM 的在线课程&#xff0c;我想和大家一起分享一下该门课程的一些主要内容。今天我们来学习输出结果检查。输出结果检查包含以下两部分内容&#xff1a; 检查输出是否存在潜在有害内容检查输出是否基于提供的产品信息 下…

easyrecovery2023永久免费版激活密钥,手把手教您用EasyRecovery快速恢复数据

Ontrack EasyRecovery Crack Professional是一个全面的备份和恢复实用程序&#xff0c;可以从多个数据丢失事件中恢复文件&#xff0c;例如常见的意外删除、更严重的&#xff08;有时是病毒引起的&#xff09;分区或驱动器格式化&#xff0c;甚至硬盘严重损坏后的数据丢失。免费…

Python实现ACO蚁群优化算法优化LightGBM回归模型(LGBMRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…

全球计算科学和人工智能领域Altair

作为全球计算科学和人工智能领域的领导者 Altair,全新数据分析与人工智能平台 Altair RapidMiner。此次启动仪式以 “数据科学&#xff0c;解码智能未来” 为主题。目的是为了更好的助力本土用户推进高效数字化转型&#xff0c;实现数据分析与人工智能应用的降本增效. 作为全球…