一、 三目运算符 注: 三目运算符是单分支结构的变形,但不是所有的单分支结构都可以改为三目运算符形式
三目运算符作用 :
解决单分支结构问题臃肿的问题,使代码更美观,更具有可读性
age = 17
if age >= 18:
print('已成年')
else:
print('未成年')
print('已成年' if age >= 18 else '未成年')
三目运算符的语法 ;
结果1 if条件 else 结果2
如果条件成立,答案结果为1,反之答案为2
二、 成员运算符
成员运算符作用 : 成员运算符用来判断某个元素是否在一组元素中,对于具有组概念的对象,如 数字序列,字符串,列表,元组,字典,可以通过成员运算符快速判断
符号:in not in
in:若在序列中找到对应值,返回True,否则返回False
not in:若在序列中未找到对应值,返回True,否则返回False
if 'red' in 'blue, black, red, pink':
print('ok')
------分割线------
a = 'abcdefg'
b = 'hijklmn'
c = ['o', 'p', 'q', 'r', 's', 't']
str_1 = input('请输入1个英文字母')
if str_1 in a:
print(str_1+'属于变量a')
elif str_1 in b:
print(str_1+'属于变量b')
elif str_1 in c:
print(str_1+'属于变量c')
else:
print(str_1+'不属于变量a,b,c中佛如任何一个')
print('程序结束')
注: 成员运算符in 与for... in循环中的区别: (1),前者用于独立集合的成员判断运算,循环中in表示一种遍历. (2),前者返回
的是布尔值True,False.后者返回的是集合中一个个元素.
测试实例中包含了一系列的成员,包括字符串,列表或元组。
运算符 描述 实例 in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 以下实例演示了Python所有成员运算符的操作:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print "1 - 变量 a 在给定的列表中 list 中"
else:
print "1 - 变量 a 不在给定的列表中 list 中"
if ( b not in list ):
print "2 - 变量 b 不在给定的列表中 list 中"
else:
print "2 - 变量 b 在给定的列表中 list 中"
# 修改变量 a 的值
a = 2
if ( a in list ):
print "3 - 变量 a 在给定的列表中 list 中"
else:
print "3 - 变量 a 不在给定的列表中 list 中"
以上实例输出结果:
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中
Python身份运算符
身份运算符用于比较两个对象的存储单元
运算符 描述 实例 is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 注: id() 函数用于获取对象内存地址。
以下实例演示了Python所有身份运算符的操作:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 20
b = 20
if ( a is b ):
print "1 - a 和 b 有相同的标识"
else:
print "1 - a 和 b 没有相同的标识"
if ( a is not b ):
print "2 - a 和 b 没有相同的标识"
else:
print "2 - a 和 b 有相同的标识"
# 修改变量 b 的值
b = 30
if ( a is b ):
print "3 - a 和 b 有相同的标识"
else:
print "3 - a 和 b 没有相同的标识"
if ( a is not b ):
print "4 - a 和 b 没有相同的标识"
else:
print "4 - a 和 b 有相同的标识"
以上实例输出结果:
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。
>>> a = [1, 2, 3]
>>> b = a
>>> b is a
True
>>> b == a
True
>>> b = a[:]
>>> b is a
False
>>> b == a
True
三、Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 描述
** 指数 (最高优先级);~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 ;+@ 和 -@)* / % // 乘,除,取模和取整除;+ - 加法减法
<< 右移,左移运算符 & 位 'AND' ^ | 位运算符 <= < > >= 比较运算符 <> == != 等于运算符 = %= /= //= -= += *= **= 赋值运算符 is is not 身份运算符 in not in 成员运算符 not and or 逻辑运算符 以下实例演示了Python所有运算符优先级的操作:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d #( 30 * 15 ) / 5
print "(a + b) * c / d 运算结果为:", e
e = ((a + b) * c) / d # (30 * 15 ) / 5
print "((a + b) * c) / d 运算结果为:", e
e = (a + b) * (c / d); # (30) * (15/5)
print "(a + b) * (c / d) 运算结果为:", e
e = a + (b * c) / d; # 20 + (150/5)
print "a + (b * c) / d 运算结果为:", e
以上实例输出结果:
(a + b) * c / d 运算结果为: 90
((a + b) * c) / d 运算结果为: 90
(a + b) * (c / d) 运算结果为: 90
a + (b * c) / d 运算结果为: 50
本文由mdnice多平台发布