• python数据类型之字符串(str)和其常用方法


    字符串是有序的,不可变的。

    下面的例子说明了字符串是不可变的

    name = 'alex'
    name = 'Jack'
    """
    并没有变,只是给name开启了一块新内存,储存Jack
    
    In [9]: name = 'alex'
    
    In [10]: id(name)
    Out[10]: 4501642800
    
    In [11]: name = 'Rain'
    
    In [12]: id(name)
    Out[12]: 4501820168
    
    原来的被python给清理了
    """

    字符串常用方法:

    s = 'Hello World'
    print(s.swapcase())  # hELLO wORLD 大写变小写,小写变大写
    print(s.upper()) # HELLO WORLD 变大写
    print(s.lower())  # hello world 变小写,只对中英文有效
    ss = 'alex edward' 
    print(ss.title()) # Alex Edward 首字母大写
    print(s.casefold())  # hello world  # 变小写,对于非中英文的也有效
    print(s.center(13, '*'))  # *Hello World* 长度、两边要打印什么
    print(s.count('o', 0, 5))  # 1 统计指定的字符串,范围从0到5
    print(s.endswith('!'))  # False 以什么结尾
    s2 = 'a	b'
    print(s2)  # a    b
    print(s2.expandtabs(10))  # a         b     # 扩展tab键的长度
    print(s.find('l', 6, 10))  # 9 找到,指定范围
    print(s.rfind('o'))  # 7 从右边开始找
    
    info = "my name is {name} and i'm {age} years old".format(name='alex', age=27)
    print(info)  # my name is alex and i'm 27 years old
    
    print(s.index('o', 5, 11))  # 7  和list的index一样  lindex()从左边找,rindex()从右边找
    
    s3 = 'aa11啊'
    print(s3.isalnum())  # 是否包含阿拉伯的数字或字符 True
    print(s3.isalpha())  # 是否是阿拉伯字符  False
    print(s3.isdigit())  # False  是否是数字  和isnumeric()、isdecimal()一样
    print(s3.isidentifier())  # True 是否是合法的变量
    print(s3.islower())  # True 是否小写
    print(s3.isprintable())  # True 是否可被打印  二进制流的不可被打印
    print(s3.istitle())  # False  首字母大写  isupper() 是否都是大写
    print(s3.isspace())  # 是否有空空格
    
    names = ['alex', 'jack', 'rain']
    str_name = '|'.join(names)
    print(str_name)  # alex|jack|rain 把列表变成字符串后拼接字符串
    
    print(s.ljust(20, '-'))  # Hello World---------  s在左边
    print(s.rjust(20, '-'))  # ---------Hello World  s在右边
    
    print(s.upper())  # HELLO WORLD 大写
    
    s4 = '  
    hello world
    	   '
    print(s4.strip())  # hello world 去掉两边的空格、换行,tab. 还有lstrip()和rstrip()
    
    s5 = 'anvasd'
    s6 = '12%$#k'
    table = str.maketrans(s5, s6)  # s5和s6长度必须一样 翻译成ASCII码,用来自己定义密码表
    print(table)  # {97: 36, 110: 50, 118: 37, 115: 35, 100: 107}
    print('edward'.translate(table))  # ekw$rk  根据s5,s6的对应表翻译
    
    print(s.partition('o'))  # ('Hell', 'o', ' World') 以o为中心,把别的两边分开 rpartition(),从右边开始分
    
    print(s.replace('l', 'L', 1))  # HeLlo World  只换1个
    
    print(s.split('o', 1))  # ['Hell', ' World'] 按o分,按哪个分哪个就没了  rsplit()从右边分
    
    s7 = 'a
    b
    alex
    c'
    print(s7.splitlines())  # ['a', 'b', 'alex', 'c'] 按换行分
    
    print(s.startswith('H'))  # True 以什么开始
    print(s.endswith('d'))  # True 以什么结束
    
    print(s.zfill(15))  # 0000Hello 长度变成15,不够了用0填

  • 相关阅读:
    MySQL 8 新特性之持久化全局变量的修改
    MySQL 8 新特性之Invisible Indexes
    pt-align
    Go碎碎念
    flask开发过程中的常见问题
    MySQL高可用方案MHA自动Failover与手动Failover的实践及原理
    MySQL高可用方案MHA在线切换的步骤及原理
    深度解析MySQL启动时报“The server quit without updating PID file”错误的原因
    MongoDB副本集的常用操作及原理
    MongoDB副本集的搭建
  • 原文地址:https://www.cnblogs.com/lshedward/p/9917769.html
Copyright © 2020-2023  润新知