我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python的字符串示例讲解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python的字符串示例讲解

之前我们学习过一个不可变的序列叫元组,今天我们探讨的字符串,也是一个不可变序列。

1. 字符串的创建

一个概念: 字符串的驻留机制
那什么是字符串的驻留机制呢?
意思是: 仅保留一份相同且不可变字符串的方法,不同的值被存放在字符串的驻留池中,python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时候,不会开辟新的空间,而是把该字符串的地址重新赋值给新建的变量。

1) 字符串的定义


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
a='itlaoxin'
b="itlaoxin"
c='''itlaoxiin'''
print(a,b,c,id(a),id(b),id(c))

输出结果

在这里插入图片描述

可以看到ID都是一样的。

在内存中只有一份

几点注意事项:
在交互模式下,能实现驻留机制的情况:

  • 字符串的长度为0 或者1时
  • 符合标识符的字符串
  • 字符串只在编译时候进行驻留,而非运行时
  • 【-5,256】之间的整数数字

在这里插入图片描述 

2. 字符串的常用操作

关于字符串的操作,我们可以把字符串看成是关于字符的列表:

1) 查询操作

  •  index() 查找字符串substr第一次出现的位置,如果查找的子串不存在,抛出异常
  • rindex() 查找字符串substr最后一次出现的问题,如果不存在,则报异常
  • find() 查找子串substr第一次出现的位置,不存在返回-1
  • rfind 查找子串substr最后一次出现的位置,若不存在返回 -1

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s='hello,world'
print(s.index('l')) #2
print(s.find('l')) #2
print(s.rfind('l')) #9
print(s.rindex('l')) #9

这里建议大家使用find,或者rfind,因为不会报异常

2) 字符串的常用操作

 a) 大小写转换

  • upper() 把字符串中所有的字符都转化成大写字母(会产生新的字符串对象)

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello,ITlaoxin"
a=s.upper()
print(s)
print(a)
  • lower() 把字符串中所有的字符都转换成小写字母

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello,ITlaoxin"
a=s.lower()
print(s)
print(a)

输出结果:

hello,ITlaoxin
hello,itlaoxin

swapcase() 把字符串中所有的大写字母转换成小写字母,把所有的小写字母转换成大写字母


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello,ITlaoxin"
a=s.swapcase()
print(a,id(a))
print(s,id(s))
  • capitalize() 把第一个字符转换成大写,把其余的字符转换成小写
  • tilele( )把每个单词的第一个字符转换成大写,把每个读单词的剩余字符转换成小写

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello,ITlaoxin"
a=s.title()
print(a)

b) 字符串内容对齐操作

  • center() 居中对齐

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello,ITlaoxin"
print(s.center(20,'*'))

在这里插入图片描述

一共14个字符,定义20个字符,左右各三个

  • ljust() 左对齐

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello,ITlaoxin"
print(s.ljust(20,"*"))

在这里插入图片描述

如果不写* ,默认是空格

  • rjust 右对齐

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello,ITlaoxin"
print(s.rjust(20,"*"))

在这里插入图片描述

  • zfill 右对齐

这种方式会用0填充


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello,ITlaoxin"
print(s.zfill(20))

在这里插入图片描述

c) 字符串的拆分

  •  split() 分割,从左边开始,默认的分割符是空格,分割完后是列表

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello,ITlaoxin"
lst=s.split()
print(lst)

输出结果:

我们可以指定分割符,用sep=‘|' 的形式


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello|ITlaoxin|gaosh"
lst=s.split(sep='|')
print(lst)

输出结果

['hello,ITlaoxin']

如果这个地方我们用默认的空格会是什么结果:


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello|ITlaoxin|gaosh"
lst=s.split()
print(lst)

结果

['hello|ITlaoxin|gaosh']

可以看到,因为这个字符串中没有空格,所以他就是一个元素的列表。


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello|ITlaoxin|gaosh"
lst=s.split(sep='|',maxsplit=1)
print(lst)

结果:

['hello', 'ITlaoxin|gaosh']

这里只拆分了一次。

  • rsplit() 从字符右边开始拆分,默认拆分字符是空格,返回值是一个列表

maxsplit可以指定最大拆分次数

这个和split的使用方法一样,只是rsplist是从右边开始拆分,splist从左边拆分


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s="hello|ITlaoxin|gaosh"
lst=s.split(sep='|',maxsplit=1)
print(lst)

lst1=s.rsplit(sep='|',maxsplit=1)
print(lst1)

结果如图所示:

在这里插入图片描述

d) 字符串的判断方法

  • isidentifier() 判断指定的字符串是否是合法的标识符
  • isspace() 判断指定的字符串是否全部由空白字符组成(回车,换行,水平指制表符)
  • issalpha() 判断字符串是否全部由字母组成
  • isdecimal( )判断指定字符串是否全部是十进制组成
  • isnumeric() 判断指定的字符串全部由数字组成
  • isalnum()判断指定字符串是否全部由字母和数字组成

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s='hello,world,python'
print('1',s.isidentifier())
print('2','hello'.isidentifier())
print('3','\t'.isidentifier())
print('4','abc'.isspace())
print('5','abc'.isalpha())
print('6','1'.isspace())
print('7','123'.isnumeric())
print('8','abc123'.isalnum())
print('9','123abc!'.isalnum())

e) 字符串的其他操作 字符串的替换replace()


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
s='hello,world,python'
print(s.replace('python','itlaoxin'))
s1='hello,python,python ,python'
print(s1.replace('python','itlaoxin',2))

结果:

hello,world,itlaoxin
hello,itlaoxin,itlaoxin ,python

字符串的合并 join()


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
lst=['hello','java','python']
print('|'.join(lst))

结果:hello|java|python

f) 字符串的比较

使用运算符 >,>= ,<,<= ,= ,!=


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
print('1','itlaoxin'>'laoxin')
print('2','itlaoxin'>'itlaox')

结果:

 False
 True

如果第一个字母就不相同,就比较原始值 ord()


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
print('1','itlaoxin'>'laoxin')
print('2','itlaoxin'>'itlaox')
print('3','python'>'java')
## 相当于
print(ord('p'),ord('j'))

在这里插入图片描述

第三个相当于112与106比较

g) 字符串的切片

字符串是不可变类型,不具备增删改查的操作,切片是会产生新的对象的


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
a='hello,world,itlaoxin'
print(a[:5])

输出结果:
hello

不写起始位置,它会从index0开始切


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
a='hello,world,itlaoxin'
print(a[6:]) #world,itlaoxin

没有指定结束位置,会切到最后

step是指定步长


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
a='hello,world,itlaoxin'
print(a[1:8:2]) #el,o

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
a='hello,world,itlaoxin'
print(a[1:8:2])
print(a[::2]) #hlowrdiloi

h) 格式化字符串

为什么要格式化字符串呢?
字符串的拼接会产生新的Id,会造成空间浪费, 这个时候就需要使用字符串的格式化。

格式化字符串的两种方式:
% 做占位符


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
#第一种方式%

name='互联网老辛'
age=40
print('我叫%s,今年%d岁了'%(name,age))

{} 做占位符

要使用到format()方法


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
#第一种方式%

name='互联网老辛'
age='40'
print('我叫{0},今年{1}岁了'.format(name,age))

除此之外还可以表示精读和宽度:


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
print('%d'% 99)

print('%10d'% 99)

这里的10表示的就是宽度

精度:
保留3位小数


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
print('%.3f' % 3.11516)

混合使用:


# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
print('%10.3f' % 3.11516)

%10.3f
总宽度为10,小数点保留3位

总结

到现在所有的数据类型的基本操作就介绍完了,这些应该都算是基础,接下来我们要进入到函数的章节。

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python的字符串示例讲解

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

下载Word文档

猜你喜欢

简单讲解Python中的字符串与字符串的输入输出

字符串 字符串用''或者""括起来,如果字符串内部有‘或者",需要使用进行转义>>> print 'I'm ok.' I'm ok.转义字符可以转义很多字符,比如n表示换行,t表示制表符,字符本身也要转义,所以\表示的字符就是。当然如果不需
2022-06-04

python字符串乘法的示例分析

这篇文章将为大家详细讲解有关python字符串乘法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。字符串乘法在Python中,不仅可以乘以数字,还可以乘以字符串。例如:关于“python字符串乘法
2023-06-27

深入讲解Python编程中的字符串

Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:Python字符串运算符 下表实例变量a值为字符串"Hello",b变量值为"Python":Python字符串格式化 Python 支持格式化字
2022-06-04

C语言模拟实现字符串库函数的示例讲解

这篇文章主要为大家详细介绍了C语言模拟实现字符串库函数的具体方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-01-13

Python求字符串的长度示例代码

这篇文章主要介绍了Python求字符串的长度,求一个字符串的长度,在main函数中输入字符串,并输出其长度,文中给大家介绍了Python计算字符串长度的函数,需要的朋友可以参考下
2023-02-05

Python中的字符串替换操作示例

字符串的替换(interpolation), 可以使用string.Template, 也可以使用标准字符串的拼接. string.Template标示替换的字符, 使用"$"符号, 或 在字符串内, 使用"${}"; 调用时使用strin
2022-06-04

python spilt()分隔字符串的实现示例

1 spilt() 方法作用 通过指定分隔符对字符串进行分隔 注意要拆分的字符串需要要一定规律的分隔符 ,比如"Python is a good language" 这个字符串中间都有个空格,那么我们可以通过这个空格来分隔这个字符串 2
2022-06-02

python中lstrip()截掉字符的实例讲解

1、说明 lstrip() 方法用于截掉字符串左边的空格或指定的字符。 2、语法str.lstrip([chars])3、参数说明 str:原字符串。 chars:指定要截掉的字符串,可以是一个字符,或者多个字符,匹配时不是按照整个字符串匹
2022-06-02

python字符串驻留技术的示例分析

小编给大家分享一下python字符串驻留技术的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言每种编程语言为了表现出色,并且实现卓越的性能,都需要有大量
2023-06-15

Python实现对字符串的加密解密方法示例

本文实例讲述了Python实现对字符串的加密解密方法。分享给大家供大家参考,具体如下: 需求是是要将密码存在数据库里,所以要加密解密是可逆的,在数据库里不要有特殊字符,防止数据库备份和恢复中出错。 安装PyCrypto,可以用AES和DES
2022-06-04

Cython处理C字符串的示例详解

如果你在使用Cython加速Python时遇到了瓶颈,但还希望更进一步,那么可以考虑将数据的类型替换成C的类型,所以本文为大家介绍了Cython处理C字符串的方法,希望对大家有所帮助
2023-01-06

Python删除字符串中字符的四种方法示例代码

这篇文章主要介绍了Python删除字符串中字符的四种方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-12-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录