zoukankan      html  css  js  c++  java
  • Python基础04_str_方法

    所有的练习都是用的python3 ,还没试过python2

    ############## 必须要会的7个基本方法 ##############

    join 

    split

    find

    strip

    upper / lower

    replace

    其中 join   split    strip   真的是太常用了。

    #!/usr/bin/env python
    # coding:utf-8
    
    # 关于方法中的参数,必要参数和可选参数的比喻太生动了。
    # 几个字符串方法
    
    test = "alexamdexr"
    a = test.casefold() #更牛逼的小写,支持多国语言
    print(a)
    
    b = test.lower() #常用的小写,支持英语
    print(b)
    
    c = test.capitalize() #首字母大写
    print(c)
    
    d = test.center(20,"$") # 占位多个,并且把自己放中间,其余位置补充字符,默认为空格
    print(d)
    d2 = test.ljust(20,"!") # 把自己放左边
    d3 = test.rjust(20,"#") # 把自己放右边
    print(d2)
    print(d3)
    
    e = test.count('ex') #寻找子序列出现的次数,也可以指定起始
    print(e)
    
    f = test.find('am',3,6) # 寻找子序列,返回下标,找不到返回 -1
    print("find的结果:",f)
    # 字符串函数中的参数,都常是>= 和 < 的。如test.find("am", 3, 5) 的位置就是3和4,小于5
    
    g = test.startswith("e") #是否以 * 开头
    print(g)
    h = test.endswith("ex") # 是否以 * 结尾
    print(h)
    #!/usr/bin/env python
    # coding:utf-8
    
    tst = "thisisasb        11    22"
    # expandtabs()是将字符串里面的tab制表符换成空格,如果没有指定tabsize参数,默认一个tab转化成8个空格。
    m = tst.expandtabs(1)
    print(m)
    
    test ="username: admin	password: 123	email: abcde@163.com
    username: user	password: 1234	email: abcdefg@sohu.com
    username: tomashe	password: 123456	email: abc@sohu.com
    "
    v = test.expandtabs(20)
    print(v)
    # 输出了整齐的列表形式。

    字符串的函数很多,挑了一些可能会用到的做了练习。 还是pycharm的 按住 ctrl 点击 str 可以很方便地找到解释。

    #!/usr/bin/env python
    # coding:utf-8
    
    # format 将一个字符串中的占位符替换为指定的值
    test = 'i am {name}, age {a}'
    print(test)
    a = test.format(name="Tom",a=32)
    print(a)
    
    test2 = 'you are {0}, age {1}'
    b = test2.format("SB",12)
    print(b)
    
    
    c = test.format_map({"name":"Jerry", "a":43})
    print(c)
    
    # index找不到直接报错 建议使用find()
    # d = test.index("d")
    
    # isalnum 判断字符串是否只有字母和数字
    test3 = "abc_123"
    e = test3.isalnum()
    print(e)
    
    # 汉字也算alpha
    tt = "abcde中国"
    e2 =tt.isalpha()
    print("是否字母",e2)
    
    # 练习 str 中的其它方法
    # strip()除去两边空格; lstrip()去左边的, rstrip()去掉右边的; 默认
    	
    也能去掉
    te = "   abCd  efder  "
    f = te.strip()
    print(f)
    
    te2 = "abcdefab"
    f2 = te2.lstrip("ab") # 也可以指定去除字符串
    print("lstrip: ",f2)
    f3 = te2.rstrip("ab")
    print(f3)
    
    
    g = te.swapcase() # 大小写全换
    print(g)
    
    h = te.replace("d","z") #字符串替换
    print(h)
    
    j = test.title() # 每个单词首字母大写
    print(j)
    
    k = j.istitle() # 是否title
    print(k)
    
    tst = "2345③"
    v1 = tst.isdecimal() #带圈的不算
    v2 = tst.isdigit() # 带圈的数字也算
    v22 = tst.isnumeric() # 带圈的,中文的都能识别
    print("是否数字:",v1, v2,v22)
    
    v3 = "1234.45" # 小数点就不是数字了。
    v4 = v3.isdigit()
    v5 = v3.isdecimal()
    v55 = v3.isnumeric()
    print(v4,v5,v55)
    #!/usr/bin/env python
    # coding:utf-8
    
    import keyword
    
    print(keyword.iskeyword("def"))
    
    # 标识符 字母 数字 下划线
    t = "_def32 "
    v = t.isidentifier() #是否标识符, 空格不是
    print("isidentifile",v)
    
    v2 = t.isprintable() # 是否有不可见字符,如
     	
    print(v2)
    
    t2 = " "
    v3 = t2.isspace() # 是否空格 	
    
     也算. 空字符串不算。
    print("isspace ",v3)
    
    # ***** 很重要的一个函数 join 要劳记
    test = "你是风儿我是沙。 You are wind i am dust. 123456"
    res = "_".join(test)
    print(res) # 结果连空格都被join了。
    
    
    a1 = "abcdefghijklmnopqrst"
    m1 = str.maketrans("aeio", "2345") # 先建立对应关系
    a2 = a1.translate(m1) # 将字符串中找到替换成对应的。
    print(a2)
    
    b1 = "tom;jerry;karl;hand"
    c1 = b1.partition(";") # 以指定的字符串为分隔,从左边找到的第一个为准,将其分为三段,分隔符也作为一个元素
    print(c1)
    
    c2 = b1.rpartition(";") # 从右边找到的第一个为准.
    print(c2)
    
    c3 = b1.split(";") # 以指定字符串为分隔,完全分割。但是不保留分隔符本身。
    print(c3)
    c4 = b1.split(";",1) #指定最多分一个。
    print(c4)
    # 以后会有一个表达式版的计算器。
    # 后续学到正则表达式时,将包含有以上2个函数的功能。
    
    
    d1 = "abcde
    fghikj
    daemon"
    e1 = d1.splitlines() # 以换行符来分割, 如果加参数True ,则保留换行符
    print(e1)
    # 方法太多,只能大概有个印象,不可能背会。 所以要使用IDE查看定义。

    补充一下第 7 种: replace 

    #!/usr/bin/env python
    # coding:utf-8
    
    name ="tom & jerry jessies"
    s = name.replace("j","T",1) # 第3个参数是指定替换几个。不指定则全部替换
    print(s)

    继续补充:

    #!/usr/bin/env python
    # coding:utf-8
    
    # 通过下标索引获取字符串中的某个字符
    
    # 1. 索引
    test = "alexerdor"
    a = test[0]
    print(a)
    
    # 2. 切片
    b = test[0:2] # 小于2, 不包括2
    print(b)
    c = test[0:-1] # 负1的意思是到最后减1
    print(c)
    
    # 3. 长度
    test2 = "中国人"
    d = len(test2) # python3中返回3, 2.7中则返回9 (因为utf8的字节长度是3 )
    print(d)
    
    # 4. 循环输出
    txt = "大数据分析挖掘与开发技术"
    #
    # n = 0
    # while n < len(txt):
    #     v = txt[n]
    #     print(v)
    #     n += 1
    
    # For循环
    
    for t in txt:  # 简单的方法,轻松地得到和上面循环输出方法一样的结果。
        print(t)
    
    ######################## 记住以上4 种,以及前面必须的 6 种普通方法。
    
    # for dict
    
    bdict = {}
    bdict['aaa'] = 1
    bdict['bbb'] = 2
    bdict['ccc'] = 3
    bdict['ddd'] = 4
    bdict['eee'] = 5
    
    # python2.7中,字典只能输出下标, 并且不是按顺序输出: 针对key的hash取模
    for v in bdict:
        print (v)
    
    # 改动后
    for k, v in bdict.items():
        # print(k + " ===> " + str(v))
        print("{}===>{}".format(k,v)) #使用format方法输出。

    关于字符串:一旦创建后在内存中是不可修改的。而我们操作时的修改拼接等操作,会重新创建一个新的字符串。

     继续补充: range

    #!/usr/bin/env python
    # coding:utf-8
    
    # 1. replace
    name ="tom & jerry jessies"
    s = name.replace("j","T",1) # 第3个参数是指定替换几个。不指定则全部替换
    print(s)
    
    
    # 2. range 帮助创建连续数字,通过步长来指定不连续
    test = range(0,100,9) # 第3个参数是步长
    for e in test:
        print(e)
    
    
    ## 练习: 将文本对应的索引打印出来。
    str_name = "分布式文件系统HDFS"
    l = len(str_name)
    rg = range(0,l)
    for a in rg:
        print(a, str_name[a])
    
    # 老师的讲解 简写
    txt = input(">>>")
    for item in range(0,len(txt)):
        print(item, txt[item])

     发现一个PDF版的教程,写得不错,简洁明了。 点击下方链接下载:

    简明python3教程

  • 相关阅读:
    Hello,Cnblogs,I'm Kxia
    运维
    CRT 操作数据库乱码
    STM32 各引脚功能
    遍历结果集
    更换税控服务器主板后,重新申请注册码
    修改远程桌面端口号
    nginx 设置开机启动
    windows 日志清理批处理 设置到计划任务就可以每天清理日志了
    按关键字查找文件
  • 原文地址:https://www.cnblogs.com/frx9527/p/python_day_4.html
Copyright © 2011-2022 走看看