zoukankan      html  css  js  c++  java
  • Python学习笔记(九)——字符串

    # 5.1 字符串的拼接
    str1 = '我今天一共走了'
    num = 1280
    str2 = '步'
    print(str1+str(num)+str2)
    
    # 计算字符串长度
    print(len(str1))
    
    # 5.2 字符串截取
    str3 = 'abcdefgh'
    substr1 = str3[2]
    substr2 = str3[1:3]
    substr3 = str3[:3]
    substr3 = str3[1:]
    print(substr1+'
    '+substr2+'
    '+substr3)
    
    # 5.3 分割字符串
    str4 = '小 菜 鸡 要 加 油'
    list4 = str4.split(' ')
    print('原字符串:' + str4)
    print('分割字符串:' + str(list4))
    
    # 5.4 合并字符串
    list5 = ['马云','扎克伯格','马化腾']
    str_friend = ' @'.join(list5)
    strnew = '@'+str_friend
    print('你要@的好友:',strnew)
    
    # 5.5 检索字符串
    str6_1 = '@小菜鸡 @小菜鸟'
    print(str6_1.count('@'))         #指定字符串在另一个字符串出现的次数
    print(str6_1.find('@'))          #返回子字符串首次出现位置,若不存在返回-1
    print(str6_1.index('@'))         #与find类似,若子字符串不存在则会抛出异常
    print(str6_1.startswith('@'))    #是否以子字符串开头
    print(str6_1.endswith('@'))      #是否以子字符串结尾
    
    # 5.6 字母大小写转换
    str7 = 'abCdEfG'
    print(str7.upper())              #将小写字母转化为大写字母
    print(str7.lower())              #将大写字母转化为小写字母
    # 例题:不分大小写验证会员名是否唯一
    username_1 = '|MingRi|mingrisoft|Bat|'
    username_2 = username_1.lower()
    regname_1 = input('请输入要注册的名字')
    regname_2 = '|'+regname_1+'|'
    if regname_2 in username_2:
        print(regname_1,'已经被注册,请重新注册')
    else:
        print(regname_1+',恭喜您,注册成功')
    
    # 5.7 去除空格和特殊字符
    str8_1 = ' @小菜鸡 @小菜鸟 '
    print(str8_1.strip('@'))       #srtip中可以设置多个字符,若不设置字符,默认去除左右的空格、制表符和回车、换行
    print(str8_1.strip())          #去除左右的空格和特殊字符
    print(str8_1.lstrip())         #去除左侧空格和特殊字符
    print(str8_1.rstrip())         #去除右侧空格和特殊字符
    
    # 5.8 格式化字符串
    #使用%占位符
    template = '编号:%09d 公司名称: %s 官网: http://www.%s.com'
    context1 = (7,'百度','baidu')
    context2 = (8,'微软','mingrisoft')
    print(template%context1)
    print(template%context2)
    #使用format()方法
    # str.format(args)
    # {[index][:[[fill]align][sign][#][width][.precision][type]]}
    # index 表示设置格式对象在参数列表中的索引位置
    # fill 指定空白处的填充字符
    # align 指定对齐方式 >表示右对齐;<表示左对齐;=表示内容右对齐,符号放在左侧且只对数字类型有效;^表示内容居中,配合width使用
    # sign 指定有无符号数
    # #对于二进制、八进制、十六进制会显示前缀
    # width 指定所占宽度
    # .precision 指定保留小数位数
    # type指定类型
    
    template = '编号:{:0>9}  公司名称:{:s}  官网: http://www.{:s}.com'
    context3 = template.format(7,'百度','baidu')
    context4 = template.format(8,'微软','mingrisoft')
    
    print(context3,'context3')
    print(context4,'context4')
    
    
    # 5.9 字符串编码转换
    #encode()编码  将字符串转化为二进制
    #str.encode([encoding = "utf-8"][,errors = "strict"])
    verse = "小菜鸡要加油"
    verse_change = verse.encode('GBK')   #可选参数为gb2312(简体中文),默认utf-8
    print('原字符:',verse)
    print('转换字符:',verse_change)
    
    #decode()解码
    #bytes.decode([encoding="utf-8"][,errors="strict"])
    print("解码:",verse_change.decode("gb2312"))
    
    
  • 相关阅读:
    CF981D
    CF883H
    Hdu 5884
    全排列
    二叉搜索树实现
    my.ini配置详解
    主元素问题
    排序算法(还需补充)
    迷宫问题(DFS,BFS)
    算法导论4--求最大和数组
  • 原文地址:https://www.cnblogs.com/lelezuimei/p/11789283.html
Copyright © 2011-2022 走看看