• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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都是一样的。

    在内存中只有一份

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

     

    2. 字符串的常用操作

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

    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) 大小写转换

    # 作者:互联网老辛
    # 开发时间:2021/4/4/0004 6s
    s="hello,ITlaoxin"
    a=s.upper()
    print(s)
    print(a)
    # 作者:互联网老辛
    # 开发时间: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))
    # 作者:互联网老辛
    # 开发时间:2021/4/4/0004 6s
    s="hello,ITlaoxin"
    a=s.title()
    print(a)

    b) 字符串内容对齐操作

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

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

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

    如果不写* ,默认是空格

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

    这种方式会用0填充

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

    c) 字符串的拆分

    # 作者:互联网老辛
    # 开发时间: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']

    这里只拆分了一次。

    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) 字符串的判断方法

    # 作者:互联网老辛
    # 开发时间: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的字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python字符串的多行输出的实例详解
    • python列表和字符串的三种逆序遍历操作
    • python 如何比较字符串是否一样
    • python str()如何将参数转换为字符串类型
    • 教你怎么用python实现字符串转日期
    • 详解python字符串驻留技术
    • 如何使用python提取字符串的中英文(正则判断)
    • python 如何将带小数的浮点型字符串转换为整数
    • python生成随机数、随机字符、随机字符串的方法示例
    • python如何正确的操作字符串
    上一篇:python 实现简单的吃豆人游戏
    下一篇:python基于tkinter点击按钮实现图片的切换
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python的字符串示例讲解 Python,的,字符串,示例,讲解,