• 三、python字符串


    一、字符串的含义

    引号括起来的数据类型就是字符串

    引号可以是单引号‘’、双引号“”、三引号""" 

    三引号什么时候是注释(没有代码引用是注释)什么时候是字符串呢(后面需要用到的时候是字符串)

    三引号还可以表示多行字符串

    srt1 = 'hello'
    srt2 = "world"
    str3 = '''python'''
    str4 = """java"""
    str5 = """
    这是第一行;
    这是第二行;
    这是第三行。
    """

    注意:

    1).引号嵌套的时候 单引号只能嵌套双引号 双引号只能嵌套单引号 三引号没有区别

    2).三引号可以做多行注释的作用

    3).三引号可以保持字符串的格式 双引号需要依赖连接符来连接换行()

     
    二、成员运算(in、not in)
    names = "zjx学习Python"
    print("zjx" in names)    # True
    print("Pon" in names)    # False
    print("Pon" not in names)    # True

    三、字符串拼接(+)

    family_name="jing"
    last_name="xue"
    print(family_name + last_name)    # jingxue

    四、字符串重复*

    name="zjx"
    print(name*2)   # zjxzjx

    五、字符索引

    索引从左边是从0开始的,从右边数-1开始
    name="zhangjingxue"
    print(name[0])   # z
    print(name[-1])  # e
    print(name[50])  # 索引超出范围 会报错:IndexError: string index out of range
    六、获取字符串的长度len
    name="zhangjx"
    name_len = len(name)
    print(name_len)   # 7

    七、字符串切片

    获取字符串的多个元素

    如何表示:name[切的起始点:切的终点]

    注意:包含起点,不包含终点(取左不取右,右边的+1)

    name = "zjx  Python"
    print(name[0:3])   # zjx

    name[起点:终点:步长] 

    步长不写的时候默认为1

    num="010101010101"
    print(num[0:5:2]    # 000
    print(num[1:5:2]    #11

    注意:切片当中超出范围不报错,表示取完的意思

    变量名[start:end:step]

    start:可以省略,最开始的地方,0或-1

    end:可以省略,一直取到最后

    step:可以省略,默认为1

    start和end可以同时省略,全部取完,从开始到最后  name[:]

    name[:] 可以复制原来的文本

    print(name)只是输出原字符串

    步长为负数

    print(name[3:1]----->结果为空,指令不一致,但不报错

    print(name[3:1:-1]----->

    总结:什么时候才能去取到数?

          1)判断end-start 是正数还是负数

          2)查看步长step是正数还是负数

          3)符号一致才能取到数

    注意:print(name[2:2])---->结果为空,指令不一致,但不报错

       print(name[-2:-4:-1]

     
    八、字符串格式化

    {}的意思是占位符,里面是空的话默认顺序取值

    name="小样儿"
    age = 18
    sex = ""
    print("""
    我的名字:{}
    我的年龄:{}
    我的性别:{}
    """.format(name,age,sex))
    '''结果: 我的名字:小样儿 我的年龄:18 我的性别:女'''

    {}的意思是占位符,里面有数字的话默认顺序format的对应的索引

    name="小样儿"
    age = 18
    sex = ""
    print("""
    我的名字:{2}
    我的年龄:{0}
    我的性别:{1}
    """.format(name,age,sex))
    
    '''结果:
    我的名字:女
    我的年龄:小样儿
    我的性别:18'''

    {}的意思是占位符,里面可以加标记,format的对应的也要加标记

    name="小样儿"
    age = 18
    sex = ""
    print("""
    我的名字:{MZ}
    我的年龄:{NL}
    我的性别:{XB}
    """.format(MZ=name,NL=age,XB=sex))
    
    '''结果:
    我的名字:小样儿
    我的年龄:18
    我的性别:女'''

    九、字符串函数

    1)大小写字母转换:

    a="hello Python"
    print(a.upper())        #HELLO PYTHON    upper:字符串中所有字母转大写
    print(a.lower())        #hello python    lower:字符串中所有字母转小写,
    print(a.title())        #Hello Python    title:字符串中首字母大写
    print(a.capitalize())   #Hello python    capitalize:字符串中第一个字母大写 
    print(a.swapcase())     #HELLO pYTHON    swapcase:字符串中大小写互换 

    2)replace():替换某个字符

    a="小样儿真是666"
    b = a.replace("小样儿","zjx")
    print(b)   # zjx真是666

    3)fing():查找执行字符串,找到该字符串的索引位置,不能找到返回-1

    a="小样儿真是666"
    index = a.find("")
    print(index)  # 0
    index = a.find("")
    print(index)  # -1

    4)index():查找执行字符串,找到该字符串的索引位置,不能找到会报错,ValueError值错误 

    a="小样儿真是666"
    index = a.index("")
    print(index)  # 0
    index = a.index("")
    print(index)  # ValueError: substring not found

     index(),find()都是找字符串的索引,注意区别:

    1.相同点,都是查找索引值

    2.不同点:在查找不对目标串的情况下,find()会返回-1,index()是报错-valueerror:substring not found

    5)count():查找字符串的次数

    a="小样儿真是666"
    print(a.count("6"))   # 3

    6)join():字符串的拼接,是split()方法的逆方法

    注意:需要被连接的序列元素都必须是字符串.

    a=",".join(["zjx","learn","python"])
    print(a)      # zjx,learn,python

    7)split():字符串的拆分,是join()的逆方法

    b = "zjx,learn,python"
    c = b.split(",")
    print(c)     # ['zjx', 'learn', 'python']

    8)strip():去掉字符串两边的空格

    注意:不加参数是除去字符串两侧的空格(不含字符串中间的空格)

       加参数,是除去两侧的需要去掉的字符

    d= "   ds   dad   fs ds    "
    print(d.strip())     #ds   dad   fs ds

    9)isdigit():检测字符串是否只由数字组成,返回布尔型True或False

    a='mfhj'
    print(a.isdigit())   # False
     
     
     
     
     
  • 相关阅读:
    微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
    微信公共服务平台开发(.Net 的实现)4-------语音识别
    微信公共服务平台开发(.Net 的实现)3-------发送文本消息
    微信公共服务平台开发(.Net 的实现)2-------获得ACCESSTOKEN
    微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
    checkboxlist 横向显示,自动换行
    VMware Workstation unrecoverable error: (vmx)虚拟机挂起后无法启动问题
    ASP.NET给DataGrid,Repeater等添加全选批量删除等功能
    redis 优缺点 使用场景
    redis消息队列
  • 原文地址:https://www.cnblogs.com/zhangjx2457/p/13605955.html
Copyright © 2020-2023  润新知