zoukankan      html  css  js  c++  java
  • Python学习笔记(二)之Python运算符和基本语句

    1. Python运算符

    1.1 算术运算符

    运算符 + - * / % ** //
    描述 取模 向下取整
    • 样例1.1:
    #!/user/bin/python
    #coding=utf-8
    #author@ zjw
    
    a, b = 1, 2
    print "1+2=", a+b
    print "1-2=", a-b
    print "1/2=", a/b
    print "1*2=", a*b
    print "1%2=", a%b
    print "1**2=", a**b  #返回a的b次幂
    print "1//2=", a//b  #返回商的整数部分,向下取整
    
    #特殊
    print "9/2=", 9/2
    print "9//2=", 9//2
    print "-9/2=", -9/2
    print "-9//2=", -9//2
    print "-9.2/2=", -9.2/2
    print "-9.2//2=", -9.2//2
    
    • 输出

    1+2= 3
    1-2= -1
    1/2= 0
    1*2= 2
    1%2= 1
    1**2= 1
    1//2= 0
    9/2= 4
    9//2= 4
    -9/2= -5
    -9//2= -5
    -9.2/2= -4.6
    -9.2//2= -5.0

    • 分析:
      • 这里主要将下///的区别,当为两个整数进行运算时,两者运算结果没有差别;
      • 但当两个浮点数运算时,如最后两个例子,浮点数的/运算,输出的浮点数是带小数位的运算结果,而浮点数的//运算,则是向下取整,输出时虽然是浮点数,但是省略了小数部分,将小数部分归为零。

    1.2 比较运算符

    运算符 == != <> > < >= <=
    描述 等于 不等于 不等于 大于 小于 大于等于 小于等于
    • 以上比较运算符返回值均为布尔类型
    • <>已在Python3中废弃,谨慎使用,尽量用!=代替。

    1.3 赋值运算符

    运算符 = += -= *= /= %= **= //=
    描述 简单赋值 加氟赋值 减法赋值 乘法赋值 除法赋值 取模赋值 幂赋值 取整赋值
    • a**=b等效于a=a**b
    • a//=b等效于a=a//b
    • 其余同理

    1.4 位运算符

    运算符 & | ^ ~ << >>
    描述 按位与运算 按位或运算 按位异或运算 按位取反运算 左移动运算 右移动运算
    • 实例1.4:
    #!/user/bin/python
    #coding=utf-8
    #author@ zjw
    
    a = 1                       #    a = 0001           
    b = 2                       #    b = 0010
    print "a & b = ", a & b     #a & b = 0000
    print "a | b = ", a | b     #a | b = 0011
    print "a ^ b = ", a ^ b     #a ^ b = 0011
    print "~a = ", ~a           #   ~a = 0010
    print "a >> 1 = ", a >> 1   #a | b = 0000
    print "b << 1 = ", b << 1   #a | b = 0100
    
    • 输出:

    a & b = 0
    a | b = 3
    a ^ b = 3
    ~a = -2
    a >> 1 = 0
    b << 1 = 4

    • ~取反运算,是对数据中的每个二进制位取反,即把1变成0,把0变成1。~x类似于-x-1

    • 小知识1:>>向右移动1位相当于除以2,<<向左移动1位相当于乘以2

    • 小知识2:任意整数a,a&1可以用来判断是奇数还是偶数,如果是奇数则返回1,偶数返回0

    1.5 逻辑运算符

    • x = 10, y = 20
    运算符 and or not
    逻辑表达式 x and y x or y not x
    描述 布尔“与”。
    如果x为False或0,则返回False或0;
    否则返回y的值
    布尔“或''。
    如果x为True或不为0的数,则返回x的值;
    否则返回y的值
    布尔”非''。
    x为0或False,返回True;
    否则返回False。
    实例 20 10 False
    • 可以直接按从左到右计算方式,如果是and的话,当遇到一个为False或0的值时,则整体的计算结果就为False或0;如果是or的话,当遇到一个不为False或0的值时, 则整体的计算结果就为这个值;如果是not 的话,就更好判断了,直接取反即可,对的就是错的,错的就是对的。

    1.6 身份运算符

    运算符 is is not
    描述 判断两个标识符是不是引用自同一个对象 判断两个标识符是不是引用自不同对象
    实例 x is y,相当于id(x) == id(y) x is not y, 相当于id(x) != id(y)
    • id()函数用于获取对象的内存地址。

    • is与区别,就相当于java中equals和的区别。is是用来判断两个变量引用对象是否为同一个(即是否在同一个内存空间中),==用于判断引用变量的值是否相等。

    • 实例1.6:

    #!/user/bin/python
    #coding=utf-8
    #author@ zjw
    
    num = [1, 2, 3, 4, 5]
    newNum = num
    
    print "newNum is num", newNum is num
    print "newNum is not num", newNum is not num
    
    • 输出:

    newNum is num True
    newNum is not num False

    1.7 成员运算符

    运算符 in not in
    描述 如果在指定序列中找到对应值,返回True,否则返回False 如果在指定序列中找不到对应值,返回True,否则返回False
    • 实例1.7:

      #!/user/bin/python
      #coding=utf-8
      #author@ zjw
      
      num = [1, 2, 3, 4, 5]
      a = 1
      b = 10
      
      print "a in num", a in num
      print "b not in num", b not in num
      
    • 输出:

    a in num True
    b not in num True

    2. Python基本语句

    2.1 条件语句

    • 多个判断条件时,用elif来进行判断,python中没有switch语句。
    if 判断条件:
        执行语句
    elif 判断条件:
        执行语句
    elif 判断条件:
        执行语句
    ...
    else:
        执行语句
    
    • 如果if语句中只有一条执行语句,可以写在和if语句同一行。

    2.2 循环语句

    2.2.1 while循环语句

    • while 句型
    while 判断语句:
        执行语句
    
    • while..else... 句型
    while 判断语句:
        执行语句
    else:
        执行语句 #当循环条件为false时,执行else的执行语句
    
    • 如果while循环体中只有一条语句,可以写在和while语句同一行。

    2.2.2 for循环语句

    • for句型
    for 变量 in 序列(范围):
        执行语句
    
    • 这里的序列(范围)可以是一个字符串,一个range()。range()函数返回一个序列的数
    • for...else...句型
    for 变量 in 序列(范围):
        执行语句
    else:
        执行语句
    

    2.3 pass语句

    • pass语句是一个空句,是为了保证程序结构的完整性。
    • pass语句不做任何事情,一般用于占位。
    • 实例:
    def example():
        pass
    #此处的pass就是用来占位的,否则空函数程序会报错。
    
  • 相关阅读:
    React 组件
    React JSX
    React基础
    equals和hashCode详解
    Hibernate 二级缓存配置
    如何正确地停止一个线程?
    常见的异常以及常用的包,类,及其接口。
    5.水果
    Java -- Web前端面试题及答案(需更深入了解)
    微信access_token请求之简单缓存方法封装
  • 原文地址:https://www.cnblogs.com/vanishzeng/p/12184730.html
Copyright © 2011-2022 走看看