字符串补充与运算符

四、Python 字符串补充与运算符

在这里插入图片描述

1、对字符串的补充

1.1 字符串的操作

  • len()字符串的长度
a = 'python'
print(len(a))

在这里插入图片描述

  • max()min()字符串中最大值最小值
a = 'python'
# print(len(a))
print(max(a),min(a))

在这里插入图片描述
比较是通过ascll的大小来确定的

  • split()分割字符串 (附:默认空格分隔,并存储于列表)
a = 'i love you'
print(a.split())

在这里插入图片描述

  • jion()拼接字符串
a = 'i love you'
# print(a.split())
b = a.split()
print(b)
c = ' '.join(b)
print(c)

在这里插入图片描述

  • find()查找字符串
a = 'python'
print(a.find('h'))

在这里插入图片描述

  • replace()替换字符串
a = 'i love you'
print(a.replace('love','don\'t love'))

在这里插入图片描述

  • partition()以指定字符串内容把字符串分割为指定内容,指定内容之前,指定内容之后三部分
a = 'i love you'
print(a.partition(' '))
print(a.partition('love'))
print(a.partition('you'))

在这里插入图片描述

  • 去空格
    • s.strip()去左右两边空格
    • s.lstrip()去左边空格
    • s.rstrip()去右边空格
a = ' i love you '
print(a.strip())
print(a.lstrip())
print(a.rstrip())

在这里插入图片描述

  • 字符串大小写
    • s.upper()全部大写
    • s.lower()全部小写
    • s.isupper()判断是不是大写
    • s.islower()判断是不是小写
a = 'i love you'
b = a.upper()
print(b)
print(b.lower())
print(a.isupper())
print(b.isupper())
print(a.islower())
print(b.islower())

在这里插入图片描述

1.2 字符串的切片和索引

  • 索引
    一串数据的位置,顺序从0开始,逆序从-1开始
正序012345678
字符串abcdefghi
逆序-9-8-7-6-5-4-3-2-1
  • 切片
    在内存当中,数据是连续存储的数据类型,就可以切片
    语法[起始位置:结束位置:步长]左闭右开,步长默认为1
a = 'abcdefghi'
print(a[2:6:1])#步长为1
print(a[2:6:2])#步长为2
print(a[::])#顺序打印
print(a[::-1])#逆序打印
print(a[-2::-1])#从倒数第二位开始逆序打印
print(a[-2:-5:-1])#从倒数第二位取到倒数第五位,不包括倒数第五位,逆序
print(a[-5:-2:1])#从倒数第五位取到倒数第二位,不包括倒数第二位,顺序
print(a[7:4:-1])#从第七位取到第四位,不包括第四位,逆序
print(a[4:7:1])#从第四位取到第七位,不包括第七位,顺序

在这里插入图片描述

2、运算符

2.1.字符串的概念

  • 概念
    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
  • 分类
    算术运算符
    赋值运算符
    比较运算符(关系运算符)
    逻辑运算符
    条件运算符(三元运算符)

2.2.算术运算符

  • 加法运算符 +
  • 减法运算符 -
  • 乘法运算符 *
  • 除法运算符 /,结果是浮点数
  • // 整除
  • % 取模
  • ** 幂运算
    在这里插入图片描述

2.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 )
  • %= (x %= 3 相当于 x= x % 3 )

2.4. 比较运算符

  • 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
    • > 比较左侧值是否大于右侧值
    • >= 比较左侧的值是否大于或等于右侧的值
  • < 比较左侧值是否小于右侧值
  • <= 比较左侧的值是否小于或等于右侧的值
  • 特殊的比较方式
    • == 比较两个对象的值是否相等
    • != 比较两个对象的值是否不相等
    • is 比较两个对象是否是同一个对象,比较的是对象的id
    • is not 比较两个对象是否不是同一个对象,比较的是对象的id
      在这里插入图片描述
      在这里插入图片描述

2.5. 逻辑运算符

2.5.1 not 逻辑非

  • not可以对符号右侧的值进行非运算,非运算会对其进行取反操作,True变False,False变True
  • 0 空串‘’ None 还有一些表示空性的值会转换为False,其余剩下的所有的值都是True
    在这里插入图片描述

2.5.2 and 逻辑与

  • and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
  • 与运算是找False的,如果第一个值为False,则不再看第二个值
    在这里插入图片描述

2.5.3 or 逻辑或

  • 或运算两个值中只要有一个True,就会返回True
  • 或运算是找True的
    在这里插入图片描述

2.5.4 非布尔值的与或运算

  • 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值

  • 非布尔值与运算的规则

    • 与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值

在这里插入图片描述

  • 非布尔值或运算的规则
    • 或运算是找True的,如果第一个值是True,则不看第二个值,直接返回第一个值,否则返回第二个值
      在这里插入图片描述

2.6 条件运算符(三元运算符)

  • 语法: 语句1 if 条件表达式 else 语句2
    • 条件运算符在执行时,会先对条件表达式进行求值判断
    • 如果判断结果为True,则执行语句1,并返回执行结果
    • 如果判断结果为False,则执行语句2,并返回执行结果
      在这里插入图片描述

第三讲作业

  • 第2题:完成字符串的逆序以及统计设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入,打印出字符串长度使用切片逆序打印出字符串
在这里插入代码片a = input('请输入:')
if len(a) > 31:
    print('请重新输入长度小于31的字符串:')
else:
    print('字符串的长度位:%d' % len(a))
    print('字符串的逆序打印为:{}'.format(a[::-1]))

在这里插入图片描述

第四讲作业

  • 以4种格式化字符串的方式来实现 521 xxx 嫁给我好吗?
x = '521 '
y = 'honey '
z = '嫁给我好吗'
print(x + y + z)                #   方法一
print('%s%s%s' % (x,y,z))       #   方法二
print(f'{x}{y}{z}')             #   方法三
print('{}{}{}'.format(x,y,z))   #   方法四

在这里插入图片描述

  • 现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值
a = input('a:')
b = input('b:')
c = input('c:')
if a>b:
    if a>c:
        print('最大的数为a:%s' % a)
    else:
        print('最大的数为c:%s' % c)
else:
    if b>c:
        print('最大的数为b:%s' % b)
    else:
        print('最大的数为c:%s' % c)

在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页