[Python] (Day-06) - 字符串

作者: 已重置2020 | 来源:发表于2017-09-30 04:53 被阅读7次
    Make everything as simple as possible, but not simpler — Albert Einstein 把每件事,做简单到极致,但又不过于简单 - 阿尔伯特·爱因斯坦

    字符串是 Python 中最常用的数据类型。

    我们可以使用引号''""来创建字符串。

    str = 'Hello World!'
    name = "Mazy"
    

    访问字符串中的值

    格式:字符串[下标位置 / 范围]

    print(str)
    print(name)
    print(str[4])
    print(name[1:3])
    
    

    执行结果:

    Hello World!
    Mazy
    o
    az
    

    转义字符

    在字符中使用特殊字符时,需要使用转义字符进行转义

    转义字符 描述
    \(在行尾时) 续行符
    \\ 反斜杠符号
    \' 单引号
    \" 双引号
    \a 响铃
    \b 退格(Backspace)
    \e 转义
    \000
    \n 换行
    \v 纵向制表符
    \t 横向制表符
    \r 回车
    \f 换页

    字符串运算符

    下表实例变量a值为字符串 "Hello",b变量值为 "Python":

    操作符 描述 实例
    + 字符串连接 a + b 输出结果: HelloPython
    * 重复输出字符串 a*2 输出结果:HelloHello
    [] 通过索引获取字符串中字符 a[1] 输出结果 e
    [:] 截取字符串中的一部分 a[1:4] 输出结果 ell
    in 成员运算符 - 如果字符串中包含给定的字符返回 True H in a 输出结果 1
    not in 成员运算符 - 如果字符串中不包含给定的字符返回 True M not in a 输出结果 1
    r/R 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符 print(r'\n'), 结果为"/n"
    % 格式字符串 请看下面的格式化输入内容
    a = "Hello"
    b = "Python"
    
    print("a + b 输出结果:", a + b)
    print("a * 2 输出结果:", a * 2)
    print("a[1] 输出结果:", a[1])
    print("a[1:4] 输出结果:", a[1:4])
    
    if ("H" in a):
        print("H 在变量 a 中")
    else:
        print("H 不在变量 a 中")
    
    if ("M" not in a):
        print("M 不在变量 a 中")
    else:
        print("M 在变量 a 中")
    
    print(r'\n')
    print(R'\n')
    

    以上实例输出结果为:

    a + b 输出结果: HelloPython
    a * 2 输出结果: HelloHello
    a[1] 输出结果: e
    a[1:4] 输出结果: ell
    H 在变量 a 中
    M 不在变量 a 中
    \n
    \n
    

    字符串格式化

    符 号 描述
    %c 格式化字符及其ASCII码
    %s 格式化字符串
    %d 格式化整数
    %u 格式化无符号整型
    %o 格式化无符号八进制数
    %x 格式化无符号十六进制数
    %X 格式化无符号十六进制数(大写)
    %f 格式化浮点数字,可指定小数点后的精度
    %e 用科学计数法格式化浮点数
    %E 作用同%e,用科学计数法格式化浮点数
    %g %f和%e的简写
    %G %f 和 %E 的简写
    %p 用十六进制数格式化变量的地址

    格式化实例:

    
    intro = "我叫 %s 今年 %d 岁!" % ('小明', 10)
    print(intro) // "我叫 小明 今年 10 岁!"
    
    # 另外一种格式化方法
    intro1 = "my name is {name}, and i am {age} old"
    # 格式化字符串
    intro1.format(name='Mazy',age=21) // "my name is Mazy, and i am 21 old"
    

    字符串基本内建函数总结

    以下假设变量 str = "hello world"

    方法 描述
    str.capitalize() 将字符串的第一个字符转换为大写
    str.count("l") 计算 l 在字符串中的个数
    str.center(50,"-") 50个字符,不足50位补-,字符串居中
    str.endswith("x") 是否以x 结尾, 返回 True / False
    str.find("or") 查找到or所在的位置
    str.isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
    str.isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
    str.isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false
    str.isdigit() 如果字符串只包含数字则返回 True 否则返回 False
    str.isidentifier() 判读是不是一个合法的标识符
    str.isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False
    str.istitle() 如果字符串是标题化,则返回 True,否则返回 False
    '+'.join( ['1','2','3']) 以指定字符串作为分隔符,将 seq中所有的元素合并为一个新的字符串
    str.ljust(50,'*') 返回长度为50个字符串,不够在左边加"*"
    str.rjust(50,'-') 返回长度为50个字符串,不够在右边加"-"
    str.lower() 全部转换成小写
    str.upper() 全部大写
    str.lstrip() 删除字符串前面的空格
    str.rstrip() 删除字符串末尾的空格
    str.replace('l','L',1) 将第一个 l 改成 L
    str.rfind('l') 从右往左查找 l 所在的位置
    str.splitlines() 将字符串通过换行符分割成列表
    str.swapcase() 大写转小写,小写转大写
    str.title() 转化为标题格式,单词首字母大写
    str.zfill(50) 填充到50个,不足补0

    补充:Python三引号

    python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符

    para_str = """这是一个多行字符串的实例
    多行字符串可以使用制表符
    TAB ( \t )。
    也可以使用换行符 [ \n ]。
    """
    print (para_str)
    

    实例执行结果为:

    这是一个多行字符串的实例
    多行字符串可以使用制表符
    TAB (    )。
    也可以使用换行符 [ 
     ]。
    

    相关文章

      网友评论

        本文标题:[Python] (Day-06) - 字符串

        本文链接:https://www.haomeiwen.com/subject/wksiextx.html