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 = 5
    b = 2
    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
    b = 3
    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'1\d{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("匹配失败")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值