iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中字符串的基本使用详解
  • 176
分享到

Python中字符串的基本使用详解

2024-04-02 19:04:59 176人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言1 字符串索引1.1 循环索引字符2 字符使用2.1 字符串运算3 字符串切片3.1 切片方法4 字符串格式化总结前言 除了数字,python中最常见的数据类型就是字符串,无

前言

除了数字,python中最常见的数据类型就是字符串,无论那种编程语言,字符串无处不在。例如,从用户哪里读取字符串,并将字符串打印到屏幕显示出来。 字符串是一种数据结构,这让我们有机会学习索引和切片——用于从字符串中提取子串的方法。

1 字符串索引

Python语法支持中,我们简单的阐述过字符串的使用,现在我们看看python程序在处理字符串时,如何对其进行索引,打印出其中的每个字符串。我们输入一个字符串:'你好,Lucky',Python使用方括号 [] 来对字符串进行索引,方括号内的数字 0~n 表示将要获取的字符串,如图1-1所示,sting[0~7]分别对应不同的值,最小的字符换索引为0,最大的字符串索引比字符串长度小1。

 如果 string 指向一个长度为 n 的字符串, 则 string[0] 为第一个字符,string[1] 为第二个字符, string[2] 为第三个字符,依此类推。string[n-1] 为最后一个字符。

当然,在上面的示例中,string[8]索引超出了字符串的末尾,导致的错误提示,这点需要注意。Python索引为何从0开始?我们这样理解便可: 索引值用于测量与字符串第一个字符相隔的距离, 就像一把尺子(其刻度也是从零开始)。这 让有些索引计算更简单,也与函数 %(求余) 一致。% 经常用于索引计算,自然也可能返回 0。

实际应用中,往往不会只用到正向索引(本文理解从左向右),当你需要访问字符串的最后一个字符时,也可以使用正向表达式,但字符串过长时明显不便,所以Python提供了一种方面的索引方式:从右向左(负数索引)来表示。如下:字符串的最后一个字符为 string[-1],其索引过程即可按照图1-1进行修改,此处不做阐述。

1.1 循环索引字符

假如需要依次访问字符串的每个字符,需要计算出所给字符串的编码总和,对比两种代码方法,如下图实现及结果,第一种codesum1()函数: 使用 for 循环时,在循环的每次迭代开头,都会将循环变量 c 设置为 s 中的 下一个字符。使用索引访问 s 中字符的工作由 for 循环自动处理。

第二种codesum2()函数使用了常规访问s中字符的方法,对比codesum1()函数可以发现,虽然二者计算结果一致,但第二种函数的代码明显较为复杂,理解程度上稍微差一些。当然,这是多数人的理解,有些人可能觉得第二种实现更好一些。


def codesum1(s):
    total = 0
    for c in s:
        total = total + ord(c)
    return total
 
def codesum2(s):
    total = 0
    for i in range(len(s)):
        total = total + ord(s[i])
    return total

2 字符使用

在所有编程语言中,字符串都是由字符所组成,而所有字符都有对应的字符编码与之相对应。在Python中,我们可以使用ord()函数来学习。ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

关于Unicode做一个简单的背景介绍: Unicode 提供了一个大得多的字符编码集。出于方便考虑,Unicode 的前 256 个 字母为 ASCII 码,因此如果你只处理英文字符,几乎不用考虑 Unicode 的细节。


>>> ord('a')
97
>>> ord('b')
98
>>> ord('c')
99

 给定字符编码,可使用函数 chr 来获悉对应的字符:


>>> chr(99)
'c'
>>> chr(98)
'b'
>>> chr(97)
'a'

字符编码是根据Unicode分配的,而Unicode是一个庞杂的编码标准,涵盖了全球各种语言中的符号和字符,使用十分广泛 。并非所有字符都有可视的标准符号。例如,换行字符、回车字符和制表符都是不可见的,虽然它们带来的效果可见。这些字符属于空白字符——在印刷页面上显示为空白。 如下表:

转义字符 描述
\(在行尾时) 续行符
\\< 反斜杠符号
' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。
\xyy 十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

举两个个简单的常用示例:

1. 在 Python 中,表示换行的标准方式是使用字符 \n:

2. 在字符串中包含反斜杠、单引号和双引号,通常需要使用对应的转义字符:

转义字符是单个字符, 为让 Python 知道下一个字符是特殊字符, 必须使用 \,但在计算字符串的长度时,并不将 \ 视为额外的字符。例如:

在使用转义字符时,还有一点需要特别注意的是:在表示文本行末尾方面,不同操作系统遵循的标准是不同的。windows 使 用 \r\n 表示行尾,OS X 和 linux 使用 \n, 而 OS X 之前的 Mac 操作系统使用 \r。

2.1 字符串运算

数字有其标准的运算方式,字符串同样也有着一定的运算。下面来看下字符串的运算符。

操作符 描述
+ 字符串连接
* 重复输出字符串
[] 通过索引获取字符串中字符
[ : ] >截取字符串中的一部分
in 成员运算符 - 如果字符串中包含给定的字符返回 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

示例 :

1.x和y分别赋值字符串;


>>> x = "I am coming"
>>> y = "Python Language"

3 字符串切片

在 Python 中,可使用切片从字符串中提取子串。要对字符串执行切片操作,可指定两个索引:要提取的第一个字符的索引;要提取的最后一个字符的索引加 1。例如:

用于切片的索引与用于访问各个字符的索引相同:第一个索引总是为零,而最后一个索引总是比字符串长度小 1。一般而言,string[begin:end]返回从索 引 begin 到 end-1 的子串。注意:如果 string 是一个字符串,则要访问索引 i 对应的字符,可使用 string[i] 或 string[i:i+1]。

3.1 切片方法

如果想要省略字符串的起始索引,Python将假定为0;如果需要省略字符串的终止索引,Python 会假设你要提取到字符串末尾。

实用示例:取值文件名中的扩展名。


def get_ext(fname):
    dot = fname.rfind('.')
    if dot == -1: # fname 中没有
        return ''
    else:
        return fname[dot + 1:]

注意第一处标红需要加引号好,第二处输入的文件名没有扩展名,故没有返回值。该函数的实现过程:确定最右边的 '.' 的索引(因此使用 rfind 从右往左查 找);如果 fname 不包含 '.',则返回一个空字符串,否则返回 '.' 后面的所有字符。

在索引字符串时所讲述的正向、负向索引同样可以应用于切片中。

使用负数索引时,这样做通常会有所帮助:将字符串写到纸上,再标出每个字符的正索引和负索引,就像图 1-1 那样。虽然这样做确实需要多用一两分钟时间,但可以很好地避免常见的索引错误。

4 字符串格式化

Python 支持格式化字符串的输出 。这会用到一个较为复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。


>>> print("我最喜欢的食物是%s,它的热量是%d千焦" %('hot dog',3500))
我最喜欢的食物是hot dog,它的热量是3500千焦

我们将python字符串格式化符号整理如下:标红为字符串格式化中的辅助指令

符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %F 和 %E 的简写
%p 用十六进制数格式化变量的地址
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

示例:

对于Python字符串格式化的输出,可以通过上述几个例子体验一下字符串区别与基本使用。Python本身已经自带了许多很有用的函数模块,简化了字符串的使用,增强了其功能。后面,我们会对Python的字符串函数以及正则使用做较为详细的阐述。

总结

到此这篇关于Python中字符串的基本使用的文章就介绍到这了,更多相关Python字符串使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中字符串的基本使用详解

本文链接: https://www.lsjlt.com/news/159951.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中字符串的基本使用详解
    目录前言1 字符串索引1.1 循环索引字符2 字符使用2.1 字符串运算3 字符串切片3.1 切片方法4 字符串格式化总结前言 除了数字,Python中最常见的数据类型就是字符串,无...
    99+
    2024-04-02
  • Python中字符串String的基本内
    首先我们要明白在python中当字符编码为:UTF-8时,中文在字符串中的占位为3个字节,其余字符为一个字节 下面就直接介绍几种python中字符串常用的几种字符串内置函数(本文中牵扯到了模块与一些之前章节没讲过的相关知识,坑我之后会填...
    99+
    2023-01-31
    字符串 Python String
  • python基础字符串str详解
    目录字符串str:编码:ord(字符串)和chr(整数):字符串字面值:字符串通用操作字符串str: 定义:是由一系列字符组成的不可变序列容器,储存的事字符的编码值 编码:...
    99+
    2024-04-02
  • 一文详解Java中字符串的基本操作
    目录一、遍历字符串案例二、统计字符次数案例三、字符串拼接案例四、字符串反转案例五、帮助文档查看String常用方法一、遍历字符串案例 需求:键盘录入一个字符串,使用程序实现在控制台遍...
    99+
    2024-04-02
  • Python基础-字符串的使用
    字符串解释:字符串是不可变的,所有元素赋值和切片赋值操作都是非法的,属于序列一种(字符串、元组、列表)。  一、格式化字符串 (1)、format()方法==str.format() 作用:将传入的参数进行格式化 1、替换字段名的两种方...
    99+
    2023-01-31
    字符串 基础 Python
  • Python之字符串的基本操作(很详细)
    一、字符串的索引与切片 Python语言中的字符串包括两种序号体系:正向递增序号和反向递减序号。 1.1 字符串的索引访问 1.2 字符串的切片访问  具体语法格式为:【头下标:尾下标】 ,这种访问方式称之为“切片”。但注意这是左闭右开的...
    99+
    2023-08-31
    python 开发语言
  • Python字符串的基本用法总结
        字符串序列用于表示和存储文本,python中字符串是不可变对象。通常由单引号(' ),双引号(" ),三引号(''' """)包围,其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当做注释。便...
    99+
    2023-01-31
    字符串 Python
  • 详解Golang中字符串的使用
    目录1、字符串编码2、字符串遍历3、字符串中的字符数4、字符串trim5、字符串连接6、字节切片转字符串1、字符串编码 在go中rune是一个unicode编码点。 我们都知道UTF...
    99+
    2024-04-02
  • python字符串基础操作详解
    目录字符串的赋值单引号字符串赋值给变量双引号字符串赋值给变量三引号字符串赋值给变量(多行)字符串的截取截取指定位置的字符获取指定位置之后的所有字符截取指定位置之前的所有字符获取所有的...
    99+
    2024-04-02
  • python 字符串详解
    目录一、字符串:二、使用:(1)空字符串和 len( ) 函数(2)转译字符( \ )(3)字符串拼接(4)字符串复制(5)不换行打印(6)从控制台读取参数:(7...
    99+
    2024-04-02
  • 详解Python中的字符串常识
    目录回顾一下:字符串与长字符串转义字符,比如如何在字符串中输出引号/换行?总结回顾一下:字符串与长字符串 Python非常简单,并没有专门分出一个char(Character)类型(...
    99+
    2024-04-02
  • 基于字符串常用API(详解)
    API(Application Programming Interface):应用程序编程接口使用Scanner 获取键盘录入的字符串next() ; 在遇到空格的时候 会判定为当前的输入结束 空格之后的内容会收不到nextLine(); ...
    99+
    2023-05-31
    字符串 api
  • Python中字符串切片详解
    目录1.没有步长的简单切片2.有步长的切片方式在python中,我们定义好一个字符串,如下所示。 在python中定义个字符串然后把它赋值给一个变量。我们可以通过下标访问单个的字符...
    99+
    2024-04-02
  • Python基础之字符串格式化详解
    目录一、前言二、百分号2.1 通过位置传参2.2 通过关键字传参三、 format 方式3.1 参数数据类型3.2 传参的方式3.3 格式化的其他配置参数3.4 格式化时间一、前言 ...
    99+
    2024-04-02
  • 详解Python中的字符串格式化
    目录什么是字符串格式化,为什么需要这样做?程序中都有哪些格式化?占位符格式化第一种%占位符格式化第二种占位符格式化关键字格式化总结什么是字符串格式化,为什么需要这样做? 我们有时候...
    99+
    2024-04-02
  • 详细解读Python字符串的使用与f-string
    目录Python字符串介绍创建多行字符串连接 Python 字符串访问字符串元素获取字符串的长度切片字符串Python 字符串是不可变的概括Python字符串介绍 字符串是一系列字符...
    99+
    2023-05-14
    详解Python Python字符串 Python字符串f-string
  • Python replace()函数使用详解,Python替换字符串
    「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 replace...
    99+
    2023-09-11
    python 网络安全 机器学习 人工智能
  • python基础字符串str怎么使用
    本篇内容介绍了“python基础字符串str怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!字符串str:定义:是由一系列字符组成的不...
    99+
    2023-06-22
  • 怎么使用Python中的字符串
    本篇内容介绍了“怎么使用Python中的字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!字符串的定义python定义字符、字符串没有ja...
    99+
    2023-06-16
  • Python学习之字符串函数使用详解
    目录1 搜索字符串函数2 设置字符串格式函数3 改变字符串大小写函数4 选定字符串函数5 拆分字符串函数6 替换字符串函数Python的友好在于提供了非常好强大的功能函数模块,对于字...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作