IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python中的字符串介绍(上) -> 正文阅读

[Python知识库]Python中的字符串介绍(上)

上一章介绍了python中的关键字、变量、输入输出、注释、还有数据类型等概念,接下来这篇文章主要介绍python中字符串的相关笔记。文章只按照我自己觉得重点的知识点去列举,不会列举特别细致的点。

字符串定义:成对的单引号或者是成对的双引号、三引号括起来的字符内容。

字符串索引:字符串里面的每个字母都是有索引的,索引也就是每个字符对应的位置,那么索引的顺序有2种:

正序:从左到右索引默认0开始的,最大范围是字符串长度少1

反序:从右到左索引默认-1开始的,最大范围是字符串开头

字符串转义

图片

可以使用反斜杠来转义,比如\n表示换行,\t表示制表符,使用r可以让反斜杠不发生转义。

a = "hello\tworld"b = r"hello\tworld"分别打印a和b的值:hello  world hello\tworld

字符串的连接和重复

字符串可以使用+进行拼接

可以使用*号打印重复字符串

a?= 'ac'b = 'ad'print(a+b)print(a*3)

字符串的值不能被改变,不能直接更改字符串的某一字符的值

比如,定义了一个字符串,name='小博',尝试去改字符串的第一个字符的时候,name[0]='李' ,执行是会报TypeError: 'str' object does not support item assignment错的,说明,字符串的值是不允许进行更改的。

那么,为什么对字符串变量重新赋值又不会报错呢?使用name=‘'xxx' 实际上是指向了一个新的字符串。

可以使用id()函数验证一下效果:

name = 'xiaobo'print(id(name))name?=?'libo'print(id(name))打印出来的id是不一样的

虽然不能直接修改,但是可以间接修改字符串的值,生成一个新的字符串:???????

name = '小博'print(id(name))name1 = name.replace('小','李')print(id(name1))打印出来的id值是完全不一样的

字符串截取(切片)

一个完整的切片表达式:str[start_index:end_index:step]

step:正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。当step省略时,默认为1,即从左往右以步长1取值。

start_index:表示起始索引(包含该索引对应值);该参数省略时,表示从对象“端点”开始取值,至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。

end_index:表示终止索引不包含该索引对应值,即类似于数学里面的开区间;该参数省略时,表示一直取到数据“端点”,至于是到“起点”还是到“终点”,同样由step参数的正负决定,step为正时直到“终点”,为负时直到“起点”。???????

name = 'hello world'print(name[0:5:1], name[:5:]) #hello helloprint(name[::])?#hello?worldprint(name[::-1]) #dlrow olleh

判断字符串是否满足某种格式要求???????

print('123'.isdigit())#为纯数字返回True,否则返回Falseprint('NAME'.isupper())#为纯大写字母返回True,否则返回Falseprint('name'.islower())#为纯小写字母返回True,否则返回Falseprint(' '.isspace())#为纯空格时返回True,否则返回Falseprint('sdfjklsdjkflsdjl'.isalpha())#为纯字母时返回True,否则返回Falseprint('sadsfj23423423'.isalnum())#为字母或数字时返回Ture,否则返回False以上是python提供的一些现成的方法,其他格式校验可以采用正则表达式

使用场景:

1、以后做项目的时候,做一些输入校验,比如校验密码只能是字母或数字,如果符合要求打印True,不符合要求打印False

字符串的打印

使用%进行格式化输出:???????

print("my name is %s" % ("xiaobo"))print("my name is %.2s" % ("xiaobo"))  # 字符串截取  %.2s 保留2个长度的字符串print("my age is %d" % (29.2))  # 输出整数 %dprint("my salaly is %f" % (29))  # 输出浮点数  %fprint("my height is %f m" % (1.73))print("my height is %.2f m" % (1.73))  # 指定输出小数点位数 %.3f (保留到小数点后3位)输出的结果分别对应如下:my name is xiaobomy name is ximy age is 29my salaly is 29.000000my height is 1.730000 mmy height is 1.73 m

使用format函数进行格式化输出:

相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’。

使用方法:

  • 不指定序号,自动去匹配{}{}?

  • 指定序号去匹配{0}{1}

  • 指定同一个序号去匹配{1}{1}

  • 指定序号+格式化输出去匹配{0:d}{1:.2f},要注意序号与冒号之间不能有空格

  • 指定key的方式去匹配{name}{age}

  • 指定key+格式化输出去匹配{0:d}{1:.2f},要注意key与冒号之间不能有空格

使用案例:???????

print("my name is {},age is {}".format("xiaobo", 29))print("my name is {0},age is {0}".format("xiaobo", 29))print("my name is {0},age is {1}".format("xiaobo", 29))print("my name is {0},age is {1},height is {2:.2f}".format("xiaobo", 29, 173))print("my name is {name},age is {age},height is {height:.2f}".format(height=173, age=29, name="xiaobo"))print("my name is {name:s},age is {age:d},height is {height:.3f}".format(height=173, age=29, name="xiaobo"))分别对应输出如下:my name is xiaobo,age is 29my name is xiaobo,age is xiaobomy name is xiaobo,age is 29my name is xiaobo,age is 29,height is 173.00my name is xiaobo,age is 29,height is 173.00my name is xiaobo,age is 29,height is 173.000

字符串的格式化控制符及其说明如下表所示。格式化控制符位于占位符索引或占位符名字的后面,之间用冒号分 隔,语法:{参数序号:格式控制符}或{参数名:格式控制符}。

字符串的格式化控制符及其说明如下表所示:

图片

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:05:38  更:2021-09-18 10:05:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:22:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码