zoukankan      html  css  js  c++  java
  • day3:数据类型 str

    1,int 一个数字占用的bit数目

    i = 2
    print(i.bit_length())
    i = 3
    print(i.bit_length())
    i = 5
    print(i.bit_length())
    
    运行结果:
    2
    2
    3
    View Code

    2,int和str互转,注意str转化为int是,str内容必须是数字

    3,while true和while 1

    while True:
        pass
    #while 1的效率要高一点
    while 1:
        pass
    View Code

    4,判断字符串为空

    s = input("plese input")
    if s:
        pass
    else:
        print("你输入的字符串为空,请重新输入。")
    View Code

    5,字符串索引和切片,顾头不顾尾,和range一样

    s = "ABCDEFGHKL"
    print(s[-1])
    print(s[-2])
    print(s[0:4])
    print(s[0:-1])
    print(s[0:])
    print(s[:])
    print("------------------------------")
    print(s[0:5:2])
    print(s[4:0:-1]) #这里不可以写成s[0:4:-1], 顾头不顾尾所以0那个位置是打不出来的
    print(s[4::-1]) # 规范写法,两个冒号之间没有空格
    
    print("--------------------------------")
    print(s[-1::-1])
    print(s[::-1])
    
    运行结果:
    L
    K
    ABCD
    ABCDEFGHK
    ABCDEFGHKL
    ABCDEFGHKL
    ------------------------------
    ACE
    EDCB
    EDCBA
    --------------------------------
    LKHGFEDCBA
    LKHGFEDCBA
    View Code

    6,首字母大写

    s = "lisa is funny"
    s1 =s.capitalize() #首字母大写,另外新字符串和原来的字符串没有关系
    print(s1)
    运行结果:Lisa is funny

    7,不区分大小写

    s = "FgjKl"
    s_str = input("please input:")
    if s.lower()==s_str.lower():  #也可以同时转换为大写
        print("验证成功")
    else:
        print("请重新输入")
    
    运行结果:
    please input:fgjkl
    验证成功

    8,字符串翻转,首字母大写

    s = "lisa is funny,HOHO"
    # 大小写翻转
    s3 = s.swapcase()
    print(s3)
    
    # 所有单词首字母大写
    s4 = s.title()
    print(s4)
    
    s5 = "lisa*is4funny,-HOHO9haha"
    s6 = s5.title()
    print(s6)
    
    #注意:每个隔开的单词,首字母大写,被字符和数字隔开都算,都是大写的单词要变成只是首字符大写
    运行结果:
    LISA IS FUNNY,hoho
    Lisa Is Funny,Hoho
    Lisa*Is4Funny,-Hoho9Haha

    9,居中空白填充,或者用其他字符填充,输入函数后,如果右侧半个括号显示黄色,说明你少输入参数了。

    s7 = 'center'
    s8 = s7.center(20) #总长20,s7居中,两边用空白填充,默认为空白
    print(s8)
    s9 = s7.center(20,"#") #两边用#号填充
    print(s9)
    
    运行结果:
           center       
    #######center#######

    10,展开字符串中的tab键,tab键前面的字符串不足8个则补足为8个,超过8个不足16个,补足为16个,每次补足为8的倍数

    s10 = 'left	right'
    s11 = s10.expandtabs()
    print(s11)
    运行结果:
    left    right

    11,公用方法len

    12, 查找字符,find和index,给出的都是找到位置的index,但是index函数找不到的时候会崩溃,但是find会给出-1,查找区分大小写,所以首选find,如果字符串中有多个匹配字符,返回的是第一个,可以查找一个或者多个字符

    13,去除空格strip 左侧lstrip,右侧rstip,多用在用户输入用户名加入了空格的情况

    s12 = "     strip      "
    s13 = s12.strip()
    s14 = s12.lstrip()
    s15 = s12.rstrip()
    print(s13)
    print(s14)
    print(s15)
    
    print("-------------------------------")
    
    s16 = "********strip&&&&&&&&&&"
    s17 = s16.strip('*')
    print(s17)
    s18 = s16.strip('&')
    print(s18)
    s19 = s16.strip("*&")
    print(s19)
    
    运行结果:
    strip
    strip      
         strip
    -------------------------------
    strip&&&&&&&&&&
    ********strip
    strip

    14,统计字符串中字符出现的次数count,也可以切片寻找

    s = "lilililisa is funny,HOHO"
    s20 = s.count("li")
    print(s20)
    
    运行结果:
    4
    s = "lilililisa is funny,HOHO"
    s20 = s.count("li",1,6)
    print(s20)
    
    运行结果:
    2
    s = "lilililisa is funny,HOHO"
    # 只有一个参数默认从4到末尾切片
    s20 = s.count("li",4)
    print(s20)
    
    运行结果:
    2

    15,字符串拆分split,注意被拆分的字符就不存在了,字符串转换为列表的非常好的方法

    s = "lilia//lilisa is ;iafunny,a==HOHO"
    # s20 = s.count("li")
    # print(s20)
    
    s21 = s.split() # 不指定的话就是空格
    print(s21)
    
    s22 = s.split("a")
    print(s22)
    s23 = s.split("ia")
    print(s23)
    
    运行结果:
    ['lilia//lilisa', 'is', ';iafunny,a==HOHO']
    ['lili', '//lilis', ' is ;i', 'funny,', '==HOHO']
    ['lil', '//lilisa is ;', 'funny,a==HOHO']

    16,格式化输出有两种方式,第一种是%d %s这种,另外一种是format函数,format有三种玩法

    msg="my name is {}, i am {}, my height is {},again,my name is {}".format("lisa",22,165,"lisa")
    print(msg)
    
    msg="my name is {0}, i am {1}, my height is {2},again,my name is {0}".format("lisa",22,165,)
    print(msg)
    
    msg="my name is {name}, i am {age}, my height is {height},again,my name is {name}".format(name="lisa",age=22,height=165,)
    print(msg)
    
    运行结果:
    my name is lisa, i am 22, my height is 165,again,my name is lisa
    my name is lisa, i am 22, my height is 165,again,my name is lisa
    my name is lisa, i am 22, my height is 165,again,my name is lisa

    17,字符串替换replace,默认是全部替换,也可以指定第三个参数,替换几个

    s = "lisa is funny lisa is funny lisa is funny lisa is funny lisa is funny "
    s2 = s.replace("lisa","lily")
    print(s2)
    
    运行结果:
    lily is funny lily is funny lily is funny lily is funny lily is funny 

    18,in 循环输出每个字符,或者是判断某个字符是否在字符串内,一般用来屏蔽敏感字符

    s = "lisa is funny"
    for i in s:  #i 可以替换为j index 等
        print(i)
    
    s = "lisa is fucking funny" # 敏感词类似苍井空啦,fuck ,damn啥的
    if "fucking" in s:
        print("您的输入有敏感词。。。。")
    
    运行结果:
    l
    i
    s
    a
     
    i
    s
     
    f
    u
    n
    n
    y
    您的输入有敏感词。。。。

     19,是否已某个字符开头或者结尾,startswith endswith,比较简单,不再举例,也可以进行切片操作

  • 相关阅读:
    python学习笔记(33)pycharm中使用git
    VUE基础3-过滤器与生命周期
    VUE基础2-双向数据绑定
    VUE基础1方法与指令
    HTML基础之JS
    HTML基础之DOM操作
    HTML基础之CSS
    HTML基础之HTML标签
    python学习笔记(32)多线程&多进程
    python学习笔记(30)深拷贝、浅拷贝
  • 原文地址:https://www.cnblogs.com/lisa-blog/p/10014706.html
Copyright © 2011-2022 走看看