栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python语言基础之运算符+语言基础问答+案列任务

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python语言基础之运算符+语言基础问答+案列任务

一、运算符

Python中的运算符主要分为七大类 算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符。

1、算术运算符

Python中算术运算符共有7个 如下所示

2、比较(关系)运算符

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) # True
3、赋值运算符

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) # 2
4、逻辑运算符

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 0110
6、成员运算符

成员运算符共有2个 如下

 a 2
 c [1, 2, 3, 4, 5]
 print(a in c) # True
 print(b not in c) # False
7、身份运算符

身份运算符共有2个 如下

 a 12
 b 12
 c 20
 print(a is b) # True
 print(a is not b) # False
 print(a is not c) # True
8、运算符的优先级

运算符的优先级 从高到低排列 如下

二、Python语言基础问答

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( 匹配失败 )
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266946.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号