• 字符串、python内置函数 str() 和repr() 的区别


    字符串

    name = "Alex Li;Rain Wang;Jack"
    print(name)
    print(name.strip()) #脱掉前后的空格和
    
    print(name.split(";")) #分割 ,把一个字符串按指定的符号分割成列表
    
    name.rsplit() #从最右边开始分割,和split差不多,只是方向不一样
    
    print("HELLO
     wor
    ld
    ".splitlines()) #以换行符为分割,最后一个不管 
    print("HELLO
     wor
    ld
    ".split("
    "))
    print(len(name)) #长度
    print(r"fsdghlfjdk.") #前面加r表示字符串都没有转义的意思

    查:

    name1 = "suhaozhi,qinzhen, lizhi"
    print(name1.index("h")) #返回索引值,找不到报错
    print(name1[:8]) #从开始到索引值8切片
    print(name1[8:]) #从索引值8到末尾切片
    print(name1[0::3]) #从字符串到最后切片,步长3
    
    print(name1[0::-1])# 字符串反向排序
    
    print("hello world".find("a",4)) #从左边找,返回索引值,可以指定开始寻找的位置,找不到返回值-1 
    print("hello world".rfind("l"))#从右边找,返回索引值

    字符串的空格都要占位

    name = "my name is {0} , i am {1} years old"
    name2 = "My name is {name} , i am {age} years old"
    
    print(name2.lstrip("My name"))    #删除首部空格,如果给出字符而不是无,删除字符。#rstrip删除尾部空格
    print(name2.swapcase())           #大小写互换
    
    IN = "abcde"
    OUT = "!@#$%"
    
    trans_table = str.maketrans(IN,OUT) #maketrans映射
    print(name2.translate(trans_table)) #将映射的字符翻译到字符串中
     
    print(name2.replace('name','NAME',1)) #替换
    print( '|||||'.join(['alex','jack','rain']) ) #把列表拼接成字符串
    print(name2.zfill(50)) #forget #字符串不够宽度左边用0填充
    print(name.center(50,'*'))
    print(name2.ljust(50,'-')) #左对齐
    print(name2.rjust(50,'-')) #右对齐
    print(name2.lower()) #大写变小写
    print(name2.rfind('s')) #返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1。
    print('a1a'.isalnum()) #a-zA-Z 0-9 检测字符串是否由字母和数字组成。
    print('10354243'.isdecimal()) #是不是一个正整数
    print('aA'.isalpha()) #是不是字母,返回一个布尔值
    print('-a'.isidentifier()) #identifier 关键字 ,判断是不是合法的关键字,是不是合法的变量名
    print
    ('A'.islower()) #判断是否是小写
    print('A'.isupper()) #判断是都是大写
    print('123.3'.isnumeric()) #是否是数字
    print('a'.isprintable()) #可否打印
    print(' '.isspace()) #是不是空格
    print
    ('Today Headline'.istitle()) #是不是英文标题
    print(name.capitalize()) #首字母大写
    print(name.casefold()) #大写变小写 if choice == "Y" or choice == "y"
    print(name.count('e',3,7)) # 返回统计的个数
    print(name.endswith("Li"))#以Li结尾
    print(name.expandtabs(3)) #设置 的长度
    print(name.find("sdf",3)) #返回找的的第一个值的索引,找不到就返回-1
    print(name.format("Alex",22))
    print(name2.format(name="Alex",age=22))#格式化输出
    print(name2.format_map({'name':'Alex','age':23}))

    字符的大小写判断的转化:

    判断字符串
    s.isalnum() #所有字符都是数字或者字母
    s.isalpha() #所有字符都是字母
    s.isdigit() #所有字符都是数字
    s.islower() #所有字符都是小写
    s.isupper() #所有字符都是大写
    s.istitle() #所有单词都是首字母大写,像标题
    s.isspace() #所有字符都是空白字符、	、
    
    
    大小写转换
    s.upper() #把所有字符中的小写字母转换成大写字母
    s.lower() #把所有字符中的大写字母转换成小写字母
    s.capitalize() #把第一个字母转化为大写字母,其余小写
    s.title() #把每个单词的第一个字母转化为大写,其余小写 

    字符串的格式化输出 %s:字符串 %d:整型 %f:浮点型 

    print("hello %s,%s"%("sb","egon")) 
    print("hello %s, his age is %d"%("sb",35)) 
    print("hello %s, his age is %.4f"%("sb",35.53452345))
    

    更多格式化输出

     python内置函数 str() 和repr() 的区别

    1、内建函数str()和repr() 或反引号操作符(``)可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。

    2、str()函数得到的字符串可读性好(故被print调用)

    3、repr()函数得到的字符串通常可以用来重新获得该对象,通常情况下obj==eval(repr(obj)) 这个等式是成立的。这两个函数接受一个对象作为其参数,返回适当的字符串。

    4、事实上repr()和``做一样的事情,返回一个对象的官方字符串表示。其结果绝大多数情况下(不是所有)可以通过求值运算(内建函数eval())重新得到该对象。str()则不同,它生成一个对象的可读性好的字符串表示,结果通常无法用eval()求值,但适合print输出。

    a = 'Hello, world.'
    b = str(a)
    c = eval(repr(a)) 
    print a==b 
    print a==c 
    print str(a)   #对用户友好 
    print repr(a)  # 对python友好
    
    结果如下
    True
    True
    Hello, world.
    'Hello, world.'

     

     

    
    
     
     
  • 相关阅读:
    Qt 优雅的结束程序
    Qt QPainter实现按钮添加半透明图片
    Qt QTableModel联表显示
    C++ unique 里 类型为vector<vector<int>> 的比较函数
    用JavaScript实现的2048.
    Linux 脚本控制和计划任务
    Linux shell脚本分支循环函数笔记
    Linux shell脚本特殊符号笔记
    Linux shell脚本笔记
    Linux 内存磁盘管理命令笔记
  • 原文地址:https://www.cnblogs.com/domestique/p/6748697.html
Copyright © 2020-2023  润新知