Python_13期_Day4_字符串、切片、运算符


Day4学习目录

  • 字符串的操作
  • 切片和索引
  • 算数运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 条件运算符

字符串的操作
  • len(str)
  • max(str)
  • min(str)
  • str.split(’’) 分割字符串
    • 拓展:
    • Python中有split()和os.path.split()两个函数分割字符串,具体作用如下:
      • split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
      • os.path.split():按照路径将文件名和路径分割开
    • 函数说明:
      • 1、split()函数
        语法:str.split(str="",num=string.count(str))[n]
        参数说明:
        str:表示为分隔符,默认为空格,但是不能为空(’’)。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
        num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
        [n]:表示选取第n个分片
        注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略
        string = "www.gziscas.com.cn" 1.以'.'为分隔符 print(string.split('.')) ['www', 'gziscas', 'com', 'cn'] 2.分割两次 print(string.split('.',2)) ['www', 'gziscas', 'com.cn'] 3.分割两次,并取序列为1的项 print(string.split('.',2)[1]) gziscas 4.分割两次,并把分割后的三个部分保存到三个文件 u1, u2, u3 =string.split('.',2) print(u1)—— www print(u2)—— gziscas print(u3) ——com.cn

        # 应用实例1: str="hello boybyebye" print(str.split("[")[1].split("]")[0]) www.baidu.com

        # 应用实例2: str = "hello boybyebye" print(str.split("[")[1].split("]")[0]) 结果:www.baidu.com print(str.split("[")[1].split("]")[0].split(".")) 结果:['www', 'baidu', 'com']

        # 应用实例:3: 1 str="http://www.runoob.com/python/att-string-split.html" 2 print("0:%s"%str.split("/")[-1]) 3 print("1:%s"%str.split("/")[-2]) 4 print("2:%s"%str.split("/")[-3]) 5 print("3:%s"%str.split("/")[-4]) 6 print("4:%s"%str.split("/")[-5]) 7 8 print("5:%s"%str.split("/",-1)) 9 print("6:%s"%str.split("/",0)) 10 print("7:%s"%str.split("/",1)) 11 print("8:%s"%str.split("/",2)) 12 print("9:%s"%str.split("/",3)) 13 print("10:%s"%str.split("/",4)) 14 print("11:%s"%str.split("/",5)) 15 结果是: 16 17 0:att-string-split.html 18 1:python 19 2:www.runoob.com 20 3: 21 4:http: 22 5:['http:', '', 'www.runoob.com', 'python', 'att-string-split.html'] 23 6:['http://www.runoob.com/python/att-string-split.html'] 24 7:['http:', '/www.runoob.com/python/att-string-split.html'] 25 8:['http:', '', 'www.runoob.com/python/att-string-split.html'] 26 9:['http:', '', 'www.runoob.com', 'python/att-string-split.html'] 27 10:['http:', '', 'www.runoob.com', 'python', 'att-string-split.html'] 28 11:['http:', '', 'www.runoob.com', 'python', 'att-string-split.html']

      • 2、os.path.split()函数
        语法:os.path.split(‘PATH’)
        参数说明:
        1.PATH指一个文件的全路径作为参数:
        2.如果给出的是一个目录和文件名,则输出路径和文件名
        3.如果给出的是一个目录名,则输出路径和为空文件名
        import os print(os.path.split('/dodo/soft/python/')) ('/dodo/soft/python', '') print(os.path.split('/dodo/soft/python')) ('/dodo/soft', 'python')

  • str.partition(’’)
  • 描述:
    partition() 方法用来根据指定的分隔符将字符串进行分割。
    如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
  • 语法
    partition()方法语法:
    str.partition(str)
  • 参数
    str : 指定的分隔符。
  • 返回值
    返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
    a = 'hello python 2021' print(a.partition(' ')) 结果:('hello', ' ', 'python 2021')

  • ‘’.join(列表)
    a = 'hello' b = 'python' c = '2021' print('--'.join((a,b,c))) # 结果:hello--python--2021

  • str.find(’’)
    a = 'hello python 2021' print(a.find('o')) # 结果:4

  • str.index(’’)
    a = 'hello python 2021' print(a.index('o')) # 结果:4

  • str.replace(’’, ‘’)
    a = 'hello python 2021' print(a.replace('o','O')) # 结果:hellO pythOn 2021

切片和索引 切片:
    • 索引 就是数据在序列中的位置(相当于教师分配的作为号,从左数是从0开始,从右数是从-1开始)
  • 在内存当中,数据是连续存储的数据类型,就可以切片
  • 语法:[起始位置:结束为止:步长]
  • [::] 起始为止默认从0开始,结束为止默认取到最后所有的数
  • [::-1] 逆序输出
算数运算符
  • + 加法运算符
  • - 减法运算符
  • * 乘法运算符
  • / 除法运算符
  • // 整除
  • % 取模(取余)
  • ** 次幂
赋值运算符
  • += (x+= 3 相当于 x = x + 3 )
  • -= (x -= 3 相当于 x= x - 3 )
  • *= (x = 3 相当于 x = x 3 )
  • **= (x **= 3 相当于 x = x ** 3 )
  • /= (x /= 3 相当于 x = x/ 3 )
  • //= (x //= 3 相当于 x = x // 3 )
  • %= (x %= 3 相当于 x= x % 3
比较运算符 比较运算符用来比较两个值之间的关系,总会返回?个布尔值.如果关系成
力,返回True,否则返回False
  • > 比较左侧值是否大于右侧值
  • >= 比较左侧的值是否大于或等于右侧的值
  • < 比较左侧值是否小于右侧值
  • <= 比较左侧的值是否小于或等于右侧的值
    特殊的比较方式
  • == 比较两个对象的值是否相等
  • != 比较两个对象的值是否不相等
  • \is 比较两个对象是否是同一个对象,比较的是对象的id
  • \is not 比较两个对象是否不是同比个对象,比较的是对象的id
逻辑运算符 1、not逻辑非
  • not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True
    2、and 逻辑与
  • and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
  • 与运算是找False的,如果第一个值为False,则不再看第二个值
    3、or 逻辑或
  • 【Python_13期_Day4_字符串、切片、运算符】或运算两个值中只要有一个True,就会返回True
  • 或运算是找True的
    4、非布尔值的与或运算
  • 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
  • 非布尔值与运算的规则
    • 与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值
  • 非布尔值或运算的规则
    • 或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值
  • 结论:
  • 1、与运算:and计算,找False,第一个值是False,返回第一个值,否则返回第二个值
    result = 1 and 2 print(result) # 结果:2result = 0 and 2 print(result) # 结果:0

  • 2、或运算:or计算,找True,第一个值是True,返回第一个值,否则返回第二个值
    result = 1 or 2 print(result) # 结果:1result = 0 or 2 print(result) # 结果:2

总结:
  • 判断的是布尔值(True和False)
  • 0、空串’’、None 还有一些表示空性的值会转换为False,其余剩下的所有的值都是True
条件运算符 Python_13期_Day4_字符串、切片、运算符
文章图片

  • 条件运算符在执行时,会先对条件表达式进行求值判断
  • 如果判断结果为True,则执行语句1,并返回执行结果
  • 如果判断结果为False,则执行语句2,并返回执行结果
  • 语法: 语句1 if 条件表达式 else 语句2
    a = 1 b = 2 print('a的值较大') if a > b else print('b的值较大') 结果:print('b的值较大')

    推荐阅读