Python中的运算符主要分为七大类 算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符。
1、算术运算符Python中算术运算符共有7个 如下所示
Python中比较(关系)运算符共有6个 如下
a 10 b 15 print(a b) # False print(a ! b) # True print(a b) # False print(a b) # True print(a b) # False print(a b) # True3、赋值运算符
Python中赋值运算符共有8个 如下
a 10 b 15 a b # 等价于 a a b , 10 15 print(a) # 25 a- b # 等价于 a a-b , 25-15 ,(因为上面a被重新赋值了为25 print(a) # 10 a* b # 等价于 a a*b , 10*15 print(a) # 150 a/ b # 等价于 a a/b , 150/15 ,结果为浮点数 print(a) # 10.0 a% b # 等价于 a a%b , 10.0%15 ,返回两个对象相除的余数,10/15 0.6 ,余数为10 print(a) # 10.0 a** b # 等价于 a a**b , 10的15次方 print(a) # 1000000000000000.0 a// b # 等价于 a a//b , 5//2 ,结果为向下取整的整数 print(a) # 24、逻辑运算符
Python中的逻辑运算符共有3个 如下
a True b False print(a and b) # False , and 的逻辑是同为True时才为True 否则为False print(a or b) # True or 的逻辑是有一个为 True 时就为 True print(not(a and b)) # True ,加上not后是将and的逻辑反过来5、位运算符
Python的位运算符共有6个 如下所示
a 55 # 0011 0111 b 11 # 0000 1011 print(a b) # 3 0000 0011 ,都为1时才为1 否则为0 print(a|b) # 63 0011 1111 有一个为1就为1 print(a^b) # 60 0011 1100 相异时为1 相同为0 print(~a) # -56 1100 1000 取反 即把1变为0 把0变为1 c 50 # 0011 0010 print(c 3) # 400 左移指定位数 高位丢弃 低位补0 110010000 print(c 3) # 6 右移指定位数 0000 01106、成员运算符
成员运算符共有2个 如下
a 2 c [1, 2, 3, 4, 5] print(a in c) # True print(b not in c) # False7、身份运算符
身份运算符共有2个 如下
a 12 b 12 c 20 print(a is b) # True print(a is not b) # False print(a is not c) # True8、运算符的优先级
运算符的优先级 从高到低排列 如下
1、命名变量时有什么技巧及原则
Python是一种非常灵活的语言 命名变量或其他标识符时并没有统一的规则。
普通全量名 全部使用小写字母 单词之间用单下划线 _ 分隔
全局变量名 全部使用大写字母 单词之间用单下划线 _ 分隔
实例变量名 以单下划线 “ _ 开头 其他同普通变量
私有实例变量 以双下划线 __ 开头 其他同普通变量
专有变量 开头和结尾都是以双下划线 __ 。
2、Python语句的每行不需要用分号 “ ; ” 结尾吗
Python语言区分代码块主要是通过每行缩进情况判断 结尾有没有分号并不影响Python语句的正常运行。
三、案例任务1、写出匹配国内11位手机号码的正则表达式
int1 18898763540
pattern1 r 1[0-9]{10} # [0-9] 等价于 d
pattern1 r 1d{10} # {10} 代表匹配10次 {10,} 表示最少匹配10次 {10,11}表示最少匹配10次 最多匹配11次
mach1 re.match(pattern1, int1)
if mach1:
print( 匹配成功 )
else:
print( 匹配失败 )
结果 匹配成功
2、写出匹配电子邮箱地址
解析 电子邮箱地址格式是 “用户名 域名” 其中 “域名” 部分至少存在一个 “ . ” ,而用户名部分至少有一个合法字符 “ 和 ” . 之间应该有一个合法字符 “ . 右侧至少应该有一个合法字符。
mail huhh dd.com mail1 128763 qq.com mail2 dd1u478 gol.com.cn mail3 Matl.cmb.info gmail.com004 mail4 ETL_Identifier_TTL20201 ird.gov.hk001 # w 代表[0-9a-zA-Z_] 包括下划线的任何单词字符 表示出现一次或多次 * 表示出现0次或多次 . 表示转义 . 点号 。[] 代表范围 par1 r w w .w # 可以匹配 mail、mail1、mail2、mail4 类型的邮箱 ,但不能匹配 mail3类型的电邮 par2 r w ([- .]w )* w ([-.]w )*.w ([-.]w )* # mail、mail1、mail2、mail3、mail4 类型的邮箱都可以 mach2 re.match(par2, mail4) if mach2: print( 匹配成功 ) else: print( 匹配失败 )



