• 字符串


    字符串特点:不可变,有序序列。

    一 不可变类型

    二 字符串的序列操作

    1 索引
    2 切片
    3 拼接和重复
    4 赋值
    5 遍历

    三 字符串的方法

    1 查找

    方法 功能
    find 查找,返回从左第一个指定字符的索引,找不到返回-1
    rfind 查找,返回从右第一个指定字符的索引,找不到返回-1
    index 查找,返回从左第一个指定字符的索引,找不到报错
    rindex 查找,返回从右第一个指定字符的索引,找不到报错
    count 计数功能,返回自定字符在字符串当中的个数

    2 拆分

    方法 描述
    partition(mystr) 把mystr以str分割成三部分,str前,str自身和str后 ,返回元组类型
    splitlines 按照行分隔,返回一个包含各行作为元素的列表,按照换行符分割
    split 按照指定的内容进行分割,maxsplit:默认将指定的所有的内容进行分割,可以指定 maxsplit的值,如果maxsplit=1 表示只按照第一个指定内容进行分割,后面剩余的不分割。 默认按空格分割,返回列表类型

    3 替换

    方法 描述
    replace 从左到右替换指定的元素,可以指定替换的个数,默认全部替换
    translate 按照对应关系来替换内容 from string import maketrans

    4 修饰

    方法 描述
    center 让字符串在指定的长度居中,如果不能居中左短右长,可以指定填充内容,默认以空格填充
    ljust 让字符串在指定的长度左齐,可以指定填充内容,默认以空格填充
    rjust 让字符串在指定的长度右齐,可以指定填充内容,默认以空格填充
    zfill 将字符串填充到指定的长度,不足地方用0从左开始补充
    strip 默认去除两边的空格,去除内容可以指定 ,同时可以去除多个符号
    rstrip 默认去除右边的空格,去除内容可以指定
    lstrip 默认去除左边的空格,去除内容可以指定

    5 变形

    方法 描述
    upper 将字符串当中所有的字母转换为大写
    lower 将字符串当中所有的字母转换为小写
    swapcase 将字符串当中所有的字母大小写互换
    title 将字串符当中的单词首字母大写,单词以非字母划分
    capitalize 只有字符串的首字母大写
    expandtabs 把字符串中的 tab 符号(' ')转为空格,tab 符号(' ')默认的空格数是 8
    # 需求:用户输入验证码
    r_code = "R ULT"
    code = input("请输入验证码(不区分大小写):")
    if code.upper() == r_code:
        print("验证码正确")
    

    6 判断

    方法 描述
    isalnum 判断字符串是否完全由字母或数字组成
    isalpha 判断字符串是否完全由字母组成
    isdigit 判断字符串是否完全由数字组成
    isupper 判断字符串当中的字母是否完全是大写
    islower 判断字符串当中的字母是否完全是小写
    istitle 判断字符串是否满足title格式
    isspace 判断字符串是否完全由空格组成
    startswith 判断字符串的开头字符,也可以截取判断 ,如果截取,不包含右边界
    endswith 判断字符串的结尾字符,也可以截取判断
    # 需求:用户输入一些符号,请统计数字个数,字母个数,以及其他符号数量。
    my_str = input("随便输入一些符号:")
    num_count = 0
    alp_count = 0
    other_count = 0
    for i in my_str:
        if i.isdigit():
            num_count += 1
        elif i.alpha():
            alp_count += 1
        else:
            other_count += 1
    

    四 编码和解码

    • str:用于展示

    • byte:用于传输

    • encode是编码,将字符串转换成字节码。str-->byte

    • decode是解码 ,将字节码转换成字符串。 byte-->str

    s = "记得交作业~"
    print(len(s))  # 6
    
    # 编码encode():str--->bytes:默认使用utf8编码格式
    # s2 = s.encode(encoding="utf8")
    # print(s2)
    # print(len(s2))  # 16
    
    # 以gbk格式编码
    s2 = s.encode(encoding="gbk")
    print(s2)
    print(len(s2))  # 11
    
    # 接收到消息
    # 解码:decode():
    # s3 = s2.decode()
    # print(s3)
    
    # 以utf-8解码一个以gbk编码的信息:要不报错要不乱码
    s3 = s2.decode()
    print(s3)
    

    utf-8:英文还是占1个字节,中文占3个字节

    gbk:英文还是占1个字节,中文占2个字节

    五 转义字符()和原生字符(R/r)

    msg ='tom's phone number is 110'
    print(msg)
    

    转义字符:顾名思义改变原有字符的意义

    转义字符格式: 特定字符

    问题:有一篇小说,如果内部存在特殊符号,但是不希望表示出特殊含义,需要使用转义符号,但是工作量会很大。

    需要使用效率更高的方式解决:原生字符

    在任意字符串之前添加字母r或者R,那么当前字符串中所有转义字符在使用时都不会进行转义操作

  • 相关阅读:
    谈谈Vue.js——vue-resource全攻略
    XStream(xml/bean转换)
    Notepad++ xml/json格式化
    秒杀系统架构分析与实战
    Spring事务管理
    小程序思维导图(一)
    小程序思维导图(二)
    轻松搭建持续集成工具jenkins
    rep stos dword ptr es:[edi]
    关于dword ptr 指令
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/14075851.html
Copyright © 2020-2023  润新知