一、python中的字符串:

字符串到底是什么呢:

    在python中字符串是基本数据类型,是一个不可变的字符序列

1.代码如下:

示例:


a='hello,hello'
print(a.index('lo'))
print(a.find('lo'))
print(a.rindex('lo'))
print(a.rfind('lo'))
print('-----------字符串大小写转换-------------------')
print("-----------upper小写转换成大写------------")
a1='hello world'
a2=a1.upper()
print(a1)
print(a2)
print("----------------lower大写转换成小写-------------------------")
a3="HELLO WORLD"
a4=a3.lower()
print(a3)
print(a4)
print('---------------swapcase将大写转换成小写,将小写转换成大写------------------')
a5="HELLO"
a6=a5.swapcase()
print(a5)
print(a6)
print('------------------------')
a7='hello'
a8=a7.swapcase()
print(a7)
print(a8)
print('-------------capitalize():把第一个字符转换成大写,把其余字符转换成小写--------------------')
q1="hello WORLD"
q2=q1.capitalize()
print(q1)
print(q2)
print('-------title-----------------')
q3='hELLO'
q4=q3.title()
print(q3)
print(q4)print('------------字符串的对齐方式--------------')
q5='helloworld'
print('---------居中对齐------------')
print(q5.center(20,'*'))
print('------------左对齐---------')
print(q5.ljust(20,'*'))
print('-----------右对齐----------')
print(q5.rjust(20,"*"))
print('-----------右对齐,用0填充----------')
print(q5.zfill(20))print('----------字符串的分割------------------')
print('--------从左边开始分割-----------')
s1='hello|world|python'
print(s1.split(sep='|',maxsplit=1))
print('-----------从右边开始分割------------------')
print(s1.rsplit(sep="|",maxsplit=1))print('---------------字符串的判断----------------------')
s2="hello,world"
print('1.',s2.isidentifier())
print('2.','hello'.isidentifier())
print('3.','张三_'.isidentifier())
print('4.','张三_123'.isidentifier())print('5.','\t'.isspace())print('6.','abc'.isalpha())
print('7.','张三'.isalpha())
print('8.','张三1'.isalpha())print('9.','123'.isdecimal())
print('10.','123四'.isdecimal())print('11.','123'.isnumeric())
print('12.','123四'.isnumeric())print('13.','abc111'.isalnum())
print('14.','张三111'.isalnum())
print('15.','abc111!!!'.isalnum())print('--------------字符串的替换----------------------')
s3='hello,python'
print(s3)
print(s3.replace('python','java'))
s4='hello,python,python,python'
print(s4)
print(s4.replace('python','java',2))print('------------字符串的合并------------------------------')
lst=['hello','world','python']
print('|'.join(lst))
print("".join(lst))
yuanzu=("hello",'world')
print(''.join(yuanzu))
print("*".join("python"))print('apple'>'app')
print('apple'>'banana')
print(ord("a"),ord("b"))print(chr(97),chr(98))print('------------切片--------------------')
z1='hello,world'
z2=z1[:5]
z3=z1[6:]
z4='!'
newz=z2+z4+z3
print(z2)
print(z3)
print(newz)print('---------字符串的格式化-----------------')
print('%作为占位符')
name='张三'
age=18
print('我叫%s,今年%d岁'%(name,age))
print('{}作为占位符')
print('我叫{0},今年{1}岁'.format(name,age))
print('f-string作为占位符')
print(f'我叫{name},今年{age}岁')print('------------字符串的编码----------------------')
z5='天涯共此时'
print(z5.encode(encoding='GBK'))#在GBK中:一个中文站两个字节
print(z5.encode(encoding='UTF-8'))#在UTF-8中:一个中文站三个字节
print('-------------字符串的解码-----------')
#byte代表就是一个二进制数据(字节类型的数据)
byte=z5.encode(encoding="GBK")
print(byte.decode(encoding="GBK"))

2.运行结果:

示例:

3
3
9
9
-----------字符串大小写转换-------------------
-----------upper小写转换成大写------------
hello world
HELLO WORLD
----------------lower大写转换成小写-------------------------
HELLO WORLD
hello world
---------------swapcase将大写转换成小写,将小写转换成大写------------------
HELLO
hello
------------------------
hello
HELLO
-------------capitalize():把第一个字符转换成大写,把其余字符转换成小写--------------------
hello WORLD
Hello world
-------title-----------------
hELLO
Hello
------------字符串的对齐方式--------------
---------居中对齐------------
*****helloworld*****
------------左对齐---------
helloworld**********
-----------右对齐----------
**********helloworld
-----------右对齐,用0填充----------
0000000000helloworld
----------字符串的分割------------------
--------从左边开始分割-----------
['hello', 'world|python']
-----------从右边开始分割------------------
['hello|world', 'python']
---------------字符串的判断----------------------
1. False
2. True
3. True
4. True
5. True
6. True
7. True
8. False
9. True
10. False
11. True
12. True
13. True
14. True
15. False
--------------字符串的替换----------------------
hello,python
hello,java
hello,python,python,python
hello,java,java,python
------------字符串的合并------------------------------
hello|world|python
helloworldpython
helloworld
p*y*t*h*o*n
True
False
97 98
a b
------------切片--------------------
hello
world
hello!world
---------字符串的格式化-----------------
%作为占位符
我叫张三,今年18岁
{}作为占位符
我叫张三,今年18岁
f-string作为占位符
我叫张三,今年18岁
------------字符串的编码----------------------
b'\xcc\xec\xd1\xc4\xb9\xb2\xb4\xcb\xca\xb1'
b'\xe5\xa4\xa9\xe6\xb6\xaf\xe5\x85\xb1\xe6\xad\xa4\xe6\x97\xb6'
-------------字符串的解码-----------
天涯共此时进程已结束,退出代码为 0

总结:

提示:这里对文章进行总结:

         字符串的驻留机制:仅保存一份相同且不可变字符串的方法,不能的值被存放在字符串的驻留池中,python的驻留机制对相同的字符串只保留一份拷贝,后创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量a='python'b=“python”c='''python'''a b c ==》python滞留机制的几种情况(交互模式)字符串的长度为0或者1时符合标识符的字符串字符串只在编译时进行驻留,而非运行时[-5,256]之间的整数数字sys中的intern方法强制2个字符串指向同一个对象pycharm对字符串进行了优化处理字符串驻留机制的优缺点:当需要值相同的字符串时,可以直接从字符串池里拿出来使用,避免频繁的创建和销毁,提升效率和节约内存,因此拼接字符串和修改字符串是会比较影响性能的在需要进行字符串拼接时建议使用 str类型的join方法,而非+因为join()方法是先计算出所有字符串中的长度,然后在拷贝,只new一次对象效果要比+效率高字符串的常用操作:查询方法:index():查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出valueerrorrindex():查找子串substr最后一次出现的位置,如果查找的子串不存在,则抛出valueerrorfind():查找子串substr第一次出现的位置,如果查找的子串不存在时,则返回-1rfind():查找子串substr最后一次出现的位置,如果查找的子串不存在,则返回-1大小写转换操作:upper():把字符串中所有字符都转成大写字母lower():把字符串中所有字符都转成小写字母swapcase():把字符串中所有大写字母转成小写字母,把所有小写字母转成大写字母capitalize():把第一个字符转换成大写,把其余字符转换成小写title():把每个单词的第一个字符转换为大写,把每个单词的剩余字符转换成小写字符串对齐:center():居中对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串ljust():左对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串rjust():右对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串zfill():右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度,如果指定的宽度小于等于字符串的长度,返回字符串本身字符串的分割:split():从字符串的左边开始分割,默认的分割字符串是空格字符串,返回的值是一个列表以通过参数sep指定分割字符串是的分隔符通过参数maxsplit指定凤娥字符串时的最大分割次数,在经过最大分割后,剩余的子串会单独作为一部分rsolit():从字符串的右边开始分割,默认的分割字符串是空格字符串,返回的值是一个列表以通过参数sep指定分割字符串是的分隔符通过参数maxsplit指定凤娥字符串时的最大分割次数,在经过最大分割后,剩余的子串会单独作为一部分字符串的判断:isideentifier():判断指定字符串是不是合法的标识符isspace():判断指定字符串是否全部由空白字符组成(回车,换行,水平制表符)isalpha():判断指定字符串是否全部由字母组成isdecimal():判断指定字符串是否全部由十进制的数字组成isnumeric():判断指定字符串是否全部由字母组成isalnum():判断指定字符串是否全部由字母和数字组成字符串的替换  合并:replace():第一个参数指定被替换的子串,第二个参数指定替换字串的字符串,该方法返回替换后得到的字符串,替换前的字符串不发生变化,调用该方法时,可以通过第三个参数指定最大替换次数join():将列表或元组中的字符串合并成一个字符串字符串的比较:运算符:>   >=  <=    ==    !=比较规则:首先比较两个字符串中的第一个字符,如果相等则继续比较下一个字符,依次比较下去直到俩个字符串中的字符不相等时,其比较结果就是两个字符串的比较结果,两个字符串中的所有后续字符将不在被比较比较原理:两个字符进行比较时,比较的是其ordinal value(原始值)调用内置函数ord可以得到指定字符的ordinal value与内置函数ord对应的是内置函数chr,调用内置函数chr时指定ordinal value可以得到其对应的字符注意:== : 比较的valueis : 比较的id字符串的切片:字符串是不可变类型:不具备增  删  改等操作切片操作将产生新的对象字符串的格式化:%作为占位符:%s         字符串%d/%i       整数%f          浮点数{}作为占位符:{0}      format(name)字符串的编码转换为什么需要字符串的编码转换:a计算机将str在内存中以Unicode表示=编码=》byte字节传输=解码=>b计算机显示编码与解码:编码:将字符串转换成二进制数据byte解码:将byte类型的数据转换成字符串类型

Python中字符串的超细解析相关推荐

  1. Python中字符串的操作(图文详情)

    以下操作均在pycharm pycharm官方下载地址: https://www.jetbrains.com/pycharm/download/#section=windows 目录 python中字 ...

  2. python中if __name__ == '__main__': 的解析

    2019独角兽企业重金招聘Python工程师标准>>> python中if __name__ == '__main__': 的解析 当你打开一个.py文件时,经常会在代码的最下面看到 ...

  3. python如何小写p转换p_Python进阶---python 中字符串大小写转换

    python中字符串的大小写转换和判断字符串大小写的函数小结: 一.pyhton字符串的大小写转换, 常用的有以下几种方法: 1.对字符串中所有字符(仅对字母有效)的大小写转换,有两个方法: prin ...

  4. python中字符串的几种表达方式(用什么方式表示字符串)

    今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 > ...

  5. Python中字符串常用处理函数

    ** Python中字符串常用处理函数 ** 1.len( )函数 用len( )函数计算字符串的长度 2.strip( )函数 删除字符串两边的空白符(包括:'\n'.'\t'.'\r') 注:只能 ...

  6. python中abc属于字符串吗_在Python中,字符串s = 'abc',那么执行表达式s+'d'之后,s的打印结果是( )。...

    [单选题]当知道条件为真,想要程序无限执行直到人为停止的话,可以需要下列哪个选项? [单选题]Python3解释器执行 for i,v in enumerate([0,1,2],2):print(i, ...

  7. python中字符串大小写转换常用操作

    python中字符串的大小写转换操作 方法名 操作说明 upper() 把字符串中的字符全部转换为大写 lower() 把字符串中的字符全部转换为小写 swapcase() 把原字符串中的字符,大写变 ...

  8. python 中字符串大小写转换

    python中字符串的大小写转换和判断字符串大小写的函数小结: 一.pyhton字符串的大小写转换, 常用的有以下几种方法: 1.对字符串中所有字符(仅对字母有效)的大小写转换,有两个方法: prin ...

  9. Python中字符串String去除出换行符(\n,\r)和空格的问题

    Python中字符串String去除出换行符和空格的问题(\n,\r) 在Python的编写过程中,获取到的字符串进场存在不明原因的换行和空格,如何整合成一个单句,成为问题. 方法: 一.去除空格 & ...

最新文章

  1. Wix学习整理(7)——在开始菜单中为HelloWorld添加卸载快捷方式
  2. 启动oracle em命令
  3. Django的下载及命令
  4. DL之DeepLabv2:DeepLab v2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  5. python网课期中答案_中国大学python编程答案网课MOOC考试期末慕课答案
  6. 《大数据》2015年第3期“网络大数据专题”——基于特征学习的文本大数据内容理解及其发展趋势...
  7. 同学借我钱好几年了,还是个包工头,没打欠条不讲还钱事,怎么办?
  8. px、pt、em、rem 的区别
  9. oracle数据库性能调优技术--深入理解散列连接执行计划
  10. delphi下载网站文件(支持https协议)
  11. 喜大普奔!ios原生键盘终于支持自然码双拼了!
  12. 计算机盘符为什么没有AB盘
  13. 全国计算机能力挑战赛含金量高吗,大学里,有哪些含金量高,又容易得奖的国家级比赛?...
  14. 雷军40岁低潮岁月做了什么,才有小米
  15. google Play 应用被下架暂停
  16. firefox新标签页背景_如何更改或自定义Firefox的“新标签页”
  17. 李子柒为什么可以火爆全球
  18. 中蜂几月份自然分蜂_蜜蜂一年自然分蜂几次?
  19. 程序员找工作必看面试题1
  20. 【MATLAB教程案例3】QPSK解调过程的MATLAB开发

热门文章

  1. java分布式面试题之消息队列ActiveMQ部分
  2. 2022年阿里高频Java面试题:分布式+中间件+高并发+算法+数据库
  3. 谷歌chrome 71+允许flash的网站添加--不是所有网站,仅针对白名单
  4. css——兼容 ie
  5. 3_JDBC 的脏读是什么?哪种数据库隔离级别能防止脏读?
  6. 我参加计算机组装比赛作文,我来组装电脑实践作文
  7. 亚马逊商品销量在这个假日季再度刷新纪录——2019“网购星期一”成为公司有史以来销售最旺的一天
  8. 迪杰斯特拉算法matlab实现
  9. 批处理将文件夹下的MP3转换成wav——ffmpeg
  10. 数据挖掘之关联分析(实验展示以及源代码)