首页 > 技术文章 > 2 - Python 中的运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、成员运算符

shouhu 2019-10-23 17:28 原文

1、python运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、成员运算符。

2、python字符串操作:

1)定义   2)索引取值、切片  3)拼接、转义  4)常见操作  5)格式化输出

 

1、算数运算符

  • + 加
  • - 减
  • * 乘    字符串重复的次数 print("唯美" * 10)
  • / 除    # 四舍五入 round(10 / 3, 4)    4代表位数;#  浮点数,除数不能位  0:print(10  / 0)
  • // 取整数  除后的结果当中取整数
  • % 取余数  
  • ** 幂

  运算符还可以用于计算字符串重复的次数

2、赋值运算符

  • =  赋值运算符  a = 100 b = 200 b = a + b   b += a
  • +=  加法赋值运算符  a += 10 等同于 a = a + 10
  • -=  减法赋值运算符        a -= 10 等同于 a = a - 10
  • *=  减法赋值运算符
  • //=  取整数赋值运算符
  • %=  取模(余数)赋值运算符
  • **=  幂赋值运算符
  • /=  除法赋值运算符

 

3、比较运算符

  比较结果为布尔值:False、True

  • ==  
    • 检查两个操作的值是否相等  
    • 如果是,则条件成立,返回 True   
  • !=  
    • 检查两个操作的值是否不相等  
    • 如果是,则条件成立,返回 True  
  • >
    • 检查左操作数的值是否 大于 有操作数的值  
    • 如果是,则条件成立,返回 True  
  • <
    • 检查左操作数的值是否 小于 有操作数的值  
    • 如果是,则条件成立,返回 True  
  • >=
    • 检查做左操作数的值是否 大于等于 有操作数的值  
    • 如果是,则条件成立,返回 True  
  • <=
    • 检查做左操作数的值是否 小于等于 有操作数的值  
    • 如果是,则条件成立,返回 True  

 

字符串和字符串之间可以比较大小,按照ASCII 码排序,使用 ord 来查看

print("a" > "b")
# False

print(ord("a"))
# 97

# 98 转换为字符串
print(ord("98"))
# b

 

4、成员运算符

运算符:in、not in

成员运算符的运算结果是布尔型(bool)

  结果:True、False

 

in 判断列表中是否存在某个元素

# 定义一个列表
list_1 = ["江南", "海南", "a"]  
# 判断江南存在列表中
bool_1 = "江南" in list_1  # 判断左侧的元素是否在右侧
print(bool_1)

# 结果为:True

not in 判断列表中是否不存在某个元素

# 定义一个列表
list_1 = ["江南", "海南", "a"]
# 判断江南不存在列表中
bool_2 = "江南" not in list_1  # 判断左侧的元素是否在右侧
print(bool_2)

# 结果为:False

所有序列类型都支持成员运算

  • str(字符串)
  • list(列表)
  • tople(元祖)

序列类型支持哪些操作

  • 通过数字索引取值
  • 支持切片操作
  • len() 求长度
  • 支持重复操作(序列类型 * 数字)“love” * 100
  • 成员运算(in、not in)

5、逻辑运算符

and:一假必假,两真才为真

    • 只有x和y的值都为True,才会返回True;
    • 否则只要x或者y有一个值为False,就返回False

or:一真必真,两假必假

    • 只要x或者y有一个值为True,就返回True
    • 只有x和y的值都为False,才会返回False

not:真为假,假为真

    • 如果 x为 True,返回False
    • 如果 x为 False,返回True

6、运算符的优先级

先乘除后加减

同级运算符是从左至右

可以使用 ()调整计算的优先级

 

练习:

1.定义字符串 I'm Lemon, I love Python automated testing!

提示:

  • a.使用双引号还是单引号呢?
  • b.使用你能想到的所以方法来定义

a = ("I'm Lemon, I love Python automated testing!")

a = 'I\'m Lemon, I love Python automated testing!'

 

2.把 website = 'http://www.python.org' 中的 python 字符串取出来

  • 提示:可以使用字符串切片

website[11:17]

website[-5:-11]

 

3.将给定字符串前后的空格去除,同时把PHP替换为Python

  • best_language = " PHP is the best programming language in the world! "

a = best_language.strip().replace('PHP','Python')

 

4.演练字符串操作

  • my_hobby = "Never stop learning!"

截取从 位置 2 ~ 位置6 的字符串: 

  •  print(my_hobby[1:6])

截取从 位置2 ~ 末尾位置 的字符串: 

  • print(my_hobby[1:])

截取从 开始位置 ~ 6位置 的字符串: 

  • print(my_hobby[:6])

截取完整的字符串: 

  • print(my_hobby[:])

从开始位置,每隔一个字符截取字符串:

  • print(my_hobby[::1])

从 索引3 开始,每2个字符中取一个字符:

  • print(my_hobby[3::2])

截取从 索引2 ~ 末尾-1 的字符串: 

  •  print(my_hobby[2:])

截取字符串末尾两个字符:   

  • print(my_hobby[-2:])

 

5.python中逻辑运算符有哪些? 它们之间有什么区别?

and:一假必假,两真才真

or:一真必真,两假才真

not:以假乱真,真亦假,假亦真

6.如下比较运算分别返回什么?

如果a = 15,b = 9,则a == b 、a != b 、a > b 、(a - 5) < b 、a >= b ** 2 、(a + 13 - 10 * 2) <= (b // 2 * 5 + 35 % 4)

a == b 为False

a != b 为True

a > b 为True

(a - 5) < b 为False

a >= b ** 2 为False

(a + 13 - 10 * 2) <= (b // 2 * 5 + 35 % 4) 为True

7.定义字符串I'm Lemon, I love Python automated testing!

提示:使用双引号还是单引号呢?

答案一: "I'm Lemon, I love Python automated testing!"

答案二: 'I\'m Lemon, I love Python automated testing!'

答案三: """I'm Lemon, I love Python automated testing!"""

答案四: '''I'm Lemon, I love Python automated testing!'''

答案五: '''I\'m Lemon, I love Python automated testing!'''

 

4.把website = 'http://www.python.org'中的python字符 串取出来

提示:可以使用字符串切片

website = 'http://www.python.org'

# 五种方法-掌握前四种
print(website[11:17])
print(website[11:-4])
print(website[11:-4])
print(website.split('.')[1])

import re
website1 = 'http://www.python.org'
print(re.match(r'.*(python).*', website1).group(1))

# 结果都是:python

 

5.将给定字符串前后的空格除去,把PHP替换为Python

best_language = " PHP is the best programming language in the world! "

print(best_language.strip().replace('PHP', 'Python'))

# 结果:Python is the best programming language in the world!

 

6.演练字符串操作

 

my_hobby = "Never stop learning!"

# 截取从 位置2 ~ 位置6 的字符串
print(my_hobby[1:6])
# 截取从 位置2 ~ 末尾位置 的字符串
print(my_hobby[1:])
# 截取从 开始位置 ~ 6位置 的字符串
print(my_hobby[0:6])
print(my_hobby[:6])
# 截取完整的字符串
print(my_hobby[:])
print(my_hobby[0:])
print(my_hobby[::])
# 从开始位置,每隔一个字符截取字符串
print(my_hobby[0::1])
print(my_hobby[::1])
print(my_hobby[::])
# 从 索引3 开始,每2个字符中取一个字符
print(my_hobby[3::2])
import re
website = 'http://www.python.org'
print(re.match(r'.*(python).*', website).group(1))

# 截取从 索引2 ~ 末尾-1 的字符串
print(my_hobby[2:-1])
# 截取字符串末尾两个字符
print(my_hobby[-2:])
print(my_hobby[18:])
# 字符串的逆序(拓展)
print(my_hobby[::-1])


# 执行结果:
ever
ever stop learning!
Never
Never
Never stop learning!
Never stop learning!
Never stop learning!
Never stop learning!
Never stop learning!
Never stop learning!
e tplann!
python
ver stop learning
g!
g!
!gninrael pots reveN

 

总结:

 

 

 

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/  谢谢!!******* 

推荐阅读