Python之路,第三篇:Python入门与基础3

1,  布尔运算符

             运算符;    not      and   or

          not 运算符:

           作用:逻辑取反

           语法: not  表达式

           例: not  True     #  False

                   not   False   # True

                   not   100     #False  相当于not    bool(100)

                   not   0.0      #True

                   not   0j        #True

                   not  1+2j     #False

                   not    ‘ ’       #True

                   not   “False” #False

                   not   None   #True

                  “False”(字符串)和 False 布尔类型 

1 score = int(input("请输入:"))
2 if not 0 <= score <= 100:
3     print("Error, 您输入的不对!")
4 >>> 
5 请输入:1000
6 Error, 您输入的不对!
7 >>>    

           and  运算符:           

                   作用: 返回优先为假值(False)的对象

                   语法: 表达式1  and 表达式 2

                   例:   0  and  100   # 返回0

                             100  and  200  #返回200 

                    说明: 当表达式1 的布尔测试值为True时, 返回 表达式2, 否则返回表达式1 。

 

bool(表达式1)     and bool(表达式2)      结果的布尔测试值:
---------------------------------------------------------------------------   
False                 False                               False
False                True                                    False
True                  False                                 False
True                  True                                  True

 

and 真值表:
x   and   y
bool(x)    返回值
True         y             #如果x为True,则返回y
False       x              #如果x为False ,则返回x 


or 运算符:
作用:
  优先返回值为真(True)的对象
语法: 表达式1 or 表达式2

例:
0 or 100    返回值是100
100 or 0    返回值 100
0.0 or 0    返回 0
3.14 or 0.618 返回 3.14

 

正负号运算符:
+(正号)  、   -(负号)
语法:
+   表达式
-   表达式
说明:一元运算符;

 

位运算:
 运算符:
&   位与
|    位或
^    位异或
<<    左移
>>    右移
~    求反

& 位与:
语法
        表达式x   &   表达式y
作用:
  按位操作,      1,两个对应的位都为1,则结果为1
        2,两个对应的位只要有一个为0,则结果为0

bin(x)函数:
bin(x) 将x转换为二进制(binary)的字符串

 1 >>> bin(1)
 2 '0b1'
 3 >>> bin(2)
 4 '0b10'
 5 >>> bin(3)
 6 '0b11'
 7 >>> bin(4)
 8 '0b100'
 9 >>> bin(5)
10 '0b101'
11 >>> bin(6)
12 '0b110'
13 >>> bin(7)
14 '0b111'
15 >>> bin(8)
16 '0b1000'
17 >>> bin(9)
18 '0b1001'
19 >>> bin(10)
20 '0b1010'
21 >>> bin(11)
22 '0b1011'
View Code

 

|   位或
语法:
  表达式x   |   表达式y
作用:
按位操作, 两个对应的位只要有一个为1,则结果为1
      两个对应的位都为0,则结果为0

^   位异或
语法:
  表达式x   ^   表达式y
作用:
  按位操作, 两个对应的位不同,结果为1
        两个对应的位相同,结果为0

<<   左移运算
语法格式:
  表达式x   <<   整数表达式y
作用:
  将x的二进制值,按位向左移动y位,低位补0
例:
x = 6 << 1

 

>>   右移运算
语法格式:
  表达式x   >>   整数表达式y
作用:
  将x的二进制值,按位向右移动y位,低位溢出丢弃

例:
6 >> 1 # 3
6 >> 2 # 1
6 >> 3 # 0
6 >> 100 # 0

 

~   按位求反
语法格式:
  ~ 表达式
作用:
  将数据二进制相应位取反 ;

例:
~ 6

 1 >>> ~1
 2 -2
 3 >>> ~2
 4 -3
 5 >>> ~3
 6 -4
 7 >>> ~4
 8 -5
 9 >>> ~5
10 -6
11 >>> ~0
12 -1
13 >>> ~7
14 -8
15 >>> ~10
16 -11
17 >>> ~200
18 -201
View Code

 

练习:
IP = 0xc0a80164 # IP: 192.168.1.100
MASK = 0xFFFFFF00 # 子网俺码 255.255.255.0
求:IP & MASK 的值 # 网段地址:192.168.1.0
求: IP | ~MASK 的值 # 广播地址:192.168.1.255

hex(x) 将一个整数转为16进制的字符串

255 ->0b11111111

 



         

 

posted on 2018-04-23 22:11  微子天明  阅读(197)  评论(0编辑  收藏  举报

导航