python 基础 - 字符串

作者: _07 | 来源:发表于2018-05-02 19:41 被阅读23次

    python 字符串

    字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
    创建字符串很简单,只要为变量分配一个值即可。例如:

    var1 = 'hello'
    var2 = "world"
    

    Python 访问字符串中的值

    Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
    Python 访问子字符串,可以使用方括号来截取字符串,如下实例:

    # 字符串的访问
    s = "python"
    print(s[0])
    print(s[2])
    # 范围,切片
    print(s[0:6]) # 指定开始和结束
    print(s[:])   # 有没有指定开头和结尾,默认就是从开始到结尾
    print(s[2:])  # 从某一个到结尾
    print(s[:2])  # 从开头到某一个
    
    # 步长
    print(s[0:6:2])  # 从开始到结尾,步长为2
    

    输出结果:

    p
    t
    python
    python
    thon
    py
    pto
    

    Python字符串更新

    你可以截取字符串的一部分并与其他字段拼接,如下实例:

    var1 = 'Hello World!'
     
    print ("已更新字符串 : ", var1[:6] + 'Python!')
    

    输出结果:

    已更新字符串 :  Hello Python!
    

    Python转义字符

    在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:

    转义字符 描述
    (在行尾时) 续行符
    \ 反斜杠符号
    ' 单引号
    " 双引号
    \a 响铃
    \b 退格(Backspace)
    \e 转义
    \000
    \n 换行
    \v 纵向制表符
    \t 横向制表符
    \r 回车
    \f 换页
    \oyy 八进制数,yy代表的字符,例如:\o12代表换行
    \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
    \other 其它的字符以普通格式输出

    Python字符串运算符

    下表实例变量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 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 print( r'\n' ) print( R'\n' )
    % 格式字符串 请看Pyhton基本语法中输出格式化

    实例:

    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
    

    Python字符串常用操作

    1. 检查字符串的长度 len()
    a = "python"
    print(len(a))
    #输出: 6
    
    1. 字符串的替换 replace()
    s1 = "python"
    #字符串本身不会改变,会返回一个新的字符串(结果)
    s2=s1.replace("py","p")
    print(s1)
    print(s2)
    print("aaaaa".replace("a","b",2))
    print("www.baidu.cn".replace("cn","com"))
    

    输出结果:

    python
    pthon
    bbbaa
    www.baidu.com
    
    1. 查找字符串
    print("sdfsdf".index("f"))##返回结果为字符的索引
    print("sadfasf".find("z"))##返回结果为字符的索引
    #index 和 find的区别 就是 find查找失败会返回-1,不会影响程序的运行
    #index 查找失败会报错并终止程序
    

    输出结果:

    2
    -1
    
    1. 去除字符串两边指定的字符,默认去除空格
    print("    python  ".strip())
    print("aaa python a".strip("a"))
    

    输出结果:

    python
     python
    
    1. 去除字符串左边指定的字符,默认去除空格
    print("    python ***".lstrip())
    

    输出结果:

    python ***
    
    1. 去除字符串右边指定的字符,默认去除空格
    print("aaaa pythonaaaaa".rstrip("a"))
    

    输出结果:

    aaaa python
    
    1. 开头首字母大写
    s = "python"
    print(s.capitalize())
    print(s.upper())
    s = "PYTHON"
    print(s.lower())
    print(s.title())  #无论是否大小写,只会让首字符大写
    

    输出结果:

    Python
    PYTHON
    python
    Python
    
    1. 判断是否全部大写,小写
    s1 = "python"
    s2 = "PYTHON"
    print(s1.islower())
    print(s2.isupper())
    

    输出结果:

    True
    True
    
    1. 判断是否以某个字符开头和结尾
    s= "python"
    print(s.startswith("p"))
    print(s.endswith("n"))
    

    输出结果:

    True
    True
    
    1. 判断字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
    print("111111aaaa#".isalnum())
    #输出:False
    

    判断当前字符串是否全是字母

    print("abc".isalpha())
    #输出:Ture
    

    判断当前字符串是否全是数字

    print("123234356".isdigit())
    #输出:Ture
    
    1. 将字符串拆分成列表
    print("www.baidu.com".split("."))
    #输出:['www', 'baidu', 'com']
    
    1. 将序列中的字符串元素以指定字符连接成一个新的字符串
    l1 = "www.baidu.com".split(".")
    print(l1)
    print(type(l1))
    new_str = "-".join(l1)
    print(new_str)
    

    输出结果:

    ['www', 'baidu', 'com']
    <class 'list'>
    www-baidu-com
    

    人生苦短,我用Python

    Python 目录

    对网络安全感兴趣的朋友可以关注我的连载 :

    从0到1学习网络安全 【目录】

    相关文章

      网友评论

        本文标题:python 基础 - 字符串

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