Python 中的字符串基础与应用
在Python中,字符串可以用单引号或双引号括起来。‘hello’ 与 “hello” 是相同的。您可以使用print()函数显示字符串文字:
示例:
print("Hello")
print('Hello')
将字符串分配给变量是通过变量名后跟等号和字符串完成的:
示例
a = "Hello"
print(a)
多行字符串
您可以使用三个引号将多行字符串分配给变量:示例,您可以使用三个双引号:
a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)
或者使用三个单引号:示例
a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)
注意:在结果中,换行符与代码中的位置相同。
字符串是数组
与许多其他流行的编程语言一样,Python中的字符串是表示Unicode字符的字节数组。但是,Python没有字符数据类型,单个字符只是具有长度1的字符串。可以使用方括号访问字符串的元素。
示例,获取位置1处的字符(请记住,第一个字符的位置是0):
a = "Hello, World!"
print(a[1])
遍历字符串
由于字符串是数组,因此我们可以使用for循环遍历字符串中的字符。
示例,遍历单词"banana"中的字母:
for x in "banana":print(x)
在我们的Python For Loops章节中了解更多关于for循环的内容。
字符串长度
要获取字符串的长度,请使用len()函数。
示例,len()函数返回字符串的长度:
a = "Hello, World!"
print(len(a))
检查字符串
要检查字符串中是否存在某个短语或字符,我们可以使用关键字in。
示例,检查以下文本中是否存在"free":
txt = "The best things in life are free!"
print("free" in txt)
在if语句中使用它:
示例,仅在存在"free"时才打印:
txt = "The best things in life are free!"
if "free" in txt:print("Yes, 'free' is present.")
在我们的Python If…Else章节中了解更多关于if语句的内容。
检查是否不存在
要检查字符串中是否不存在某个短语或字符,我们可以使用关键字not in。
示例,检查以下文本中是否不存在"expensive":
txt = "The best things in life are free!"
print("expensive" not in txt)
在if语句中使用它:
示例,仅在不存在"expensive"时才打印:
txt = "The best things in life are free!"
if "expensive" not in txt:print("No, 'expensive' is NOT present.")
切片
您可以使用切片语法返回一系列字符。,指定起始索引和结束索引,用冒号分隔,以返回字符串的一部分。
示例:,获取从位置2到位置5的字符(不包括位置5):
b = "Hello, World!"
print(b[2:5])
注意:第一个字符的索引为0。,从开头切片,如果省略起始索引,则范围将从第一个字符开始:
示例,获取从开头到位置5的字符(不包括位置5):
b = "Hello, World!"
print(b[:5])
切片到结尾
如果省略结束索引,则范围将一直到结尾:
示例,获取从位置2到结尾的字符:
b = "Hello, World!"
print(b[2:])
负索引
使用负索引从字符串的末尾开始切片:
示例,获取字符:从:在"World!“中的"o”(位置-5)到,但不包括:在"World!“中的"d”(位置-2):
b = "Hello, World!"
print(b[-5:-2])
Python具有一组可用于字符串的内置方法。
大写
示例:upper()方法将字符串转换为大写:
a = "Hello, World!"
print(a.upper())
小写
示例:lower()方法将字符串转换为小写:
a = "Hello, World!"
print(a.lower())
删除空白
空白是实际文本之前和/或之后的空格,通常您希望删除此空间。
示例,strip()方法从开头或末尾删除任何空格:
a = " Hello, World! "
print(a.strip()) # 返回 "Hello, World!"
替换字符串
示例,replace()方法将字符串替换为另一个字符串:
a = "Hello, World!"
print(a.replace("H", "J"))
拆分字符串
split()方法返回一个列表,其中指定分隔符之间的文本成为列表项。
示例,split()方法如果找到分隔符的实例,将字符串拆分为子字符串:
a = "Hello, World!"
print(a.split(",")) # 返回 ['Hello', ' World!']
字符串连接
要连接或组合两个字符串,您可以使用+运算符。
示例:,将变量a与变量b合并到变量c中:
a = "Hello"
b = "World"
c = a + b
print(c)
示例,要在它们之间添加一个空格,请添加一个" ":
a = "Hello"
b = "World"
c = a + " " + b
print(c)
字符串格式化
正如我们在Python变量章节中学到的,我们不能像这样组合字符串和数字:
示例:
age = 36
txt = "My name is John, I am " + age
print(txt)
但是,我们可以使用format()方法将字符串和数字组合起来!
format()方法接受传递的参数,格式化它们,并将它们放在字符串中占位符{}处:
示例,使用format()方法将数字插入字符串中:
age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))
format()方法接受无限数量的参数,并将它们放入相应的占位符中:
示例
quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))
您可以使用索引号{0}来确保参数放在正确的占位符中:
示例
quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))
转义字符
要插入字符串中不允许的字符,请使用转义字符。
转义字符是反斜杠\后跟要插入的字符。
一个非法字符的示例是在由双引号括起来的字符串中插入双引号:
示例:如果在由双引号括起来的字符串中使用双引号,将会出现错误:
txt = "We are the so-called "Vikings" from the north."
要解决这个问题,使用转义字符\:
示例转义字符允许您在通常不允许的情况下使用双引号:
txt = "We are the so-called \"Vikings\" from the north."
Python中使用的其他转义字符:
\' 单引号
\\ 反斜杠
\n 换行符
\r 回车符
\t 制表符
\b 退格符
\f 换页符
\ooo 八进制值
\xhh 十六进制值
Python字符串方法
Python具有一组可用于字符串的内置方法。
注意:所有字符串方法都返回新值。它们不会更改原始字符串。
capitalize() 将第一个字符转换为大写
casefold() 将字符串转换为小写
center() 返回一个居中的字符串
count() 返回字符串中指定值出现的次数
encode() 返回字符串的编码版本
endswith() 如果字符串以指定值结尾,则返回True
expandtabs() 设置字符串的制表符大小
find() 搜索字符串中的指定值并返回其找到的位置
format() 格式化字符串中的指定值
format_map() 格式化字符串中的指定值
index() 搜索字符串中的指定值并返回其找到的位置
isalnum() 如果字符串中的所有字符都是字母数字字符,则返回True
isalpha() 如果字符串中的所有字符都在字母表中,则返回True
isascii() 如果字符串中的所有字符都是ASCII字符,则返回True
isdecimal() 如果字符串中的所有字符都是十进制字符,则返回True
isdigit() 如果字符串中的所有字符都是数字,则返回True
isidentifier() 如果字符串是标识符,则返回True
islower() 如果字符串中的所有字符都是小写,则返回True
isnumeric() 如果字符串中的所有字符都是数字,则返回True
isprintable() 如果字符串中的所有字符都是可打印字符,则返回True
isspace() 如果字符串中的所有字符都是空白字符,则返回True
istitle() 如果字符串遵循标题规则,则返回True
isupper() 如果字符串中的所有字符都是大写,则返回True
join() 将可迭代对象的元素连接到字符串的末尾
ljust() 返回字符串的左对齐版本
lower() 将字符串转换为小写
lstrip() 返回字符串的左修剪版本
maketrans() 返回用于转换的转换表
partition() 返回一个元组,其中字符串分为三个部分
replace() 返回一个字符串,其中指定的值替换为指定的值
rfind() 搜索字符串中的指定值并返回其找到的最后位置
rindex() 搜索字符串中的指定值并返回其找到的最后位置
rjust() 返回字符串的右对齐版本
rpartition() 返回一个元组,其中字符串分为三个部分
rsplit() 在指定的分隔符处拆分字符串,并返回一个列表
rstrip() 返回字符串的右修剪版本
split() 在指定的分隔符处拆分字符串,并返回一个列表
splitlines() 在换行符处拆分字符串,并返回一个列表
startswith() 如果字符串以指定值开头,则返回True
strip() 返回字符串的修剪版本
swapcase() 交换大小写,小写变为大写,反之亦然
title() 将每个单词的第一个字符转换为大写
translate() 返回一个翻译后的字符串
upper() 将字符串转换为大写
zfill() 在开头填充指定数量的0值的字符串
最后
为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:
公众号搜索Let us Coding
,知乎,开源中国,CSDN,思否,掘金,InfoQ,简书,博客园,慕课,51CTO,helloworld,腾讯开发者社区,阿里开发者社区
看完如果觉得有帮助,欢迎点赞、收藏和关注
相关文章:
Python 中的字符串基础与应用
在Python中,字符串可以用单引号或双引号括起来。‘hello’ 与 “hello” 是相同的。您可以使用print()函数显示字符串文字: 示例: print("Hello") print(Hello)将字符串分配给变量是通过变量名后跟等号和字符串完成的:…...
C++:如何实现数组元素逆置?多种方法
方法1:使用额外的数组 这是一种比较简单的方法,它创建一个额外的数组来存储逆置后的元素,然后将其复制回原始数组。 #include <iostream>void reverseArray(int arr[], int size) {int reversed[size];for (int i 0; i < size; i)…...
php框架thinkPHP6的安装教程
1,composer官网下载最新版本 composerhttps://getcomposer.org/download/ 2,双击下载后的运行文件,一直点击next就行了 上面这个路径根据自己安装的php版本位置选择(没有的可以下载一个phpstudy),最后需要…...
PTA程序辅助实验平台——2023年软件设计综合实践_3(分支与循环)
第一题:7-1 印第安男孩 - C/C 分支与循环 朵拉编程的时候也想顺便练习英语。她编程从键盘读入一个整数n,如果n值为0或者1,向屏幕输出“0 indian boy.”或“1 indian boy.”;如果n大于1,比如9,则输出“9 in…...
【C语言数据结构】线性表-链式存储-单链表
线性表-链式存储-单链表 代码实现 代码实现 #include<stdio.h> #include<stdlib.h> #include<stdbool.h>//定义元素数据类型 #define ElemType int//定义结点结构体 typedef struct LNode {//数据域,说白了就是存放当前节点的数据的。ElemType d…...
tp8 Editor.md
Editor.md - 开源在线 Markdown 编辑器 放于public文件夹下 html代码: <div class"layui-col-md12" id"content"><textarea name"content" placeholder"详情" class"layui-textarea">{notempty nam…...
LM小型可编程控制器软件(基于CoDeSys)笔记三十一:保持变量和非保持变量
所谓变量,就是用字母、数字和下划线组成的一个标识符。 按照数据类型的不同,变量可以分为标准类型和用户自定义类型。其中标准类型包括布尔型 ( BOOL )、整型( INT )、实型( REAL )…...
「C++之STL」关于在模拟实现STL容器中的深浅拷贝问题
文章目录 前言杨辉三角深浅拷贝问题模拟实现的vector对题目杨辉三角引发的程序崩溃原因解决办法 前言 在学习STL容器中,不仅需要学会容器的使用,同时也需要了解容器的大体框架以及各个函数的模拟实现才能更好的去了解这个容器; 杨辉三角 在LeetCode中有一道这样的题目,给定一…...
文件内容显示
目录 1.浏览普通文件 1.1. 文件内容查看 1.1.1. cat 命令 例: 1.1.2 扩展tac命令: 1.1.3. more 命令 1.1.4. less命令 1.1.5. head命令 1.1.6. tail命令 1.2. 文件属性信息查看 1.2.1. file 命令 1.2.2. stat 命令 2. 文件内容过滤…...
Milvus+Attu
Milvus 1.下载 https://github.com/milvus-io/milvus/releases/wget https://github.com/milvus-io/milvus/releases/download/v2.3.0/milvus-standalone-docker-compose.yml下载milvus-standalone-docker-compose version: 3.5services:etcd:container_name: milvus-etcdim…...
LeetCode算法二叉树—226. 翻转二叉树
目录 226. 翻转二叉树 代码: 运行结果: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入…...
AI项目十:Swin Transformer目标检测环境搭建
若该文为原创文章,转载请注明原文出处。 Swin Transformer是做什么的这里不做介绍,主要是记录下学习的全过程,Swin Transformer在搭建和训练的过程中,折腾了很久,主要是在折腾环境。 一、AutoDL租用实例 个人没有GP…...
【IPC 通信】信号处理接口 Signal API(5)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。 kill(2) 遵循 POSIX.1 - 2008 1.库 …...
Arduino PLC IDE
Arduino PLC IDE MCU单片机进入全新的PLC领域概述需要的硬件和软件下一步操作1. Arduino PLC IDE Tool Setup2. Arduino PLC IDE Setup3. Project Setup4. Download the Runtime5. Connect to the Device6. License Activation with Product Key (Portenta Machine Control) 结…...
记录使用iText7查找PDF内容关键字坐标,加盖电子签名、印章
一、前言 项目以前签字都是由C端那边进行合成操作,最近项目要求把那块功能,由后端进行实现,其中包含坐标、关键字、任意位置进行签字操作,坐标是最容易实现的,曾经也写过类似的功能在(添加图片印章到PDF&a…...
Java8实战-总结37
Java8实战-总结37 默认方法不断演进的 API初始版本的 API第二版 API 默认方法 传统上,Java程序的接口是将相关方法按照约定组合到一起的方式。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。但是,一旦类库…...
【超详细】前段开发之详细的Vue3入门教程,特别适合小白系统学习,入门到熟练使用Vue看这一篇就够了!
前言: 这篇文章更加侧重的是Vue3不同于Vue2的知识点,如果学习Vue2请看下面这篇文章 Vue2详细系统入门教程 11.2 Vue3 声明:图片资源来自于黑马程序员公开学习资料 本人在学习当中,详细整理了笔记,供大家参考学习 1…...
【深度学习】ONNX模型多线程快速部署【基础】
【深度学习】ONNX模型CPU多线程快速部署【基础】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】ONNX模型CPU多线程快速部署【基础】前言搭建打包环境python多线程并发简单教程基本教程ONNX模型多线程并发 打包成可执行文件总结 前…...
Python 同、异步HTTP客户端封装:性能与简洁性的较量
一、前言 引入异步编程趋势:Python的异步编程正变得越来越流行。在过去,同步的HTTP请求已经不足以满足对性能的要求。异步HTTP客户端库的流行:目前,有许多第三方库已经实现了异步HTTP客户端,如aiohttp和httpx等。然而…...
无代码赋能数字化,云表搭桥铺路链接“数据孤岛”
什么是信息孤岛 企业数字化转型过程中,信息孤岛是一个突出的问题。这种情况发生的原因是,企业内部使用了多种应用软件,时间一长,员工在不同的系统中积累了大量的企业数据资产。然而,由于这些系统之间的数据无法互通&am…...
无需公网IP,实现公网SSH远程登录MacOS【内网穿透】
目录 前言 1. macOS打开远程登录 2. 局域网内测试ssh远程 3. 公网ssh远程连接macOS 3.1 macOS安装配置cpolar 3.2 获取ssh隧道公网地址 3.3 测试公网ssh远程连接macOS 4. 配置公网固定TCP地址 4.1 保留一个固定TCP端口地址 4.2 配置固定TCP端口地址 5. 使用固定TCP端…...
网络爬虫学习笔记 1 HTTP基本原理
HTTP原理 ~~~~~ HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一种使用最为广泛的网络请求方式,常见于在浏览器输入一个地址。 1. URI和URL URL(Universal Resource Locator,统一资源定位器&…...
113. 路径总和ii
力扣题目链接(opens new window) 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum 22, 在路径总和题目的基础上&…...
百度APP iOS端包体积50M优化实践(六)无用方法清理
一、前言 百度APP包体积经过一期优化,如无用资源清理,无用类下线,Xcode编译相关优化,体积已经有了明显的减少。但是优化后APP包体积在iPhone11上仍有350M的空间占用。与此同时百度APP作为百度的旗舰APP,业务迭代非常多…...
MySQL了解视图View (视图篇 一)
视图View是什么? MySQL的视图是一种虚拟表,它是基于一个或多个表的查询结果构建而成的。视图并不实际存储数据,而是根据定义的查询逻辑动态生成结果。 ----------------------------------- 视图的特点: - 虚拟表:…...
使用applescript自动化trilium的数学公式环境
众所周知,trilium什么都好,就是对数学公式的支持以及markdown格式的导入导出功能太拉了,而最拉的时刻当属把这两个功能结合起来的时候:导入markdown文件之后,原来的数学公式全没了,需要一个一个手动用ctrlm…...
idea中maven项目打包成jar,报错没有主清单属性解决方法
使用idea自带的打包可能会出现一下问题 在pom.xml中引入下面的依赖,即可解决 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions&…...
Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
基于PHP+MySQL的家教平台
摘要 设计和实现基于PHP的家教平台是一个复杂而令人兴奋的任务。这个项目旨在为学生、家长和教师提供一个便捷的在线学习和教授平台。本文摘要将概述这个项目的关键方面,包括用户管理、课程管理、支付处理、评价系统、通知系统和安全性。首先,我们将建立…...
吉利微型纯电,5 万元的快乐
熊猫骑士作为一款主打下层市场的迷你车型,吉利熊猫骑士剑指宝骏悦也,五菱宏光 MINI 等热门选手。 9 月 15 日,吉利熊猫骑士正式上市,售价为 5.39 万,限时优享价 4 .99 万元。价格和配置上对这个级别定位的战略车型有一…...
深圳网站建设招标/色盲测试图数字
从centos7版本开始,为了保持更好的开源度,系统最小化版本的默认数据库变为mariadb,但为了实验需要,决定还是安装mysql(毕竟两者的存储引擎是有区别的,尽管mariadb能很好的兼容mysql),下面介绍如何安装。首先…...
网站基础功能介绍/做网站哪个公司最好
针对蒙蔽软件遮挡剔除的扩展,本文提供了一种灵活的解决方案,可以在不影响原始蒙蔽遮挡算法性能的情况下,为无法充分预分类的场景提高深度缓冲区的最终精度。该方法中的合并时间与分辨率呈线性关系,并且与场景中的几何复杂度无关。…...
做网站的备案/离我最近的电脑培训中心
MP3播放器的工作原理MP3播放器是利用数字信号处理器DSP来完成处理传输和解码MP3文件的任务的。DSP掌管播放器的数据传输,设备接口控制,文件解码回放等活动。MP3工作方框图(图1) 一个完整的MP3播放器要分几个部分:中央处…...
随州网站设计开发服务/电商怎么做营销推广
*.settings bin gen .classpath .project *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store...
iis7架设网站教程/游戏推广是什么工作
eclipse又一次编译时候就会报错Errors occurred during the build. Errors running builder JavaScript Validator on。如图: 解决的方法是:项目右键--properties---builders---javascript validator 如图: 转载于:https://www.cnblogs.com/m…...
dz网站地图怎么做/广点通官网
目录 ThreadLocal InheritableThreadLocal TransmittableThreadLocal 本文主要介绍ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal三者之间区别、如何使用、什么场景使用以及对原理和源码的介绍。介绍原理的时候通过最直白、最易懂的语言争取让大家了解三者…...