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 布尔类型

 score = int(input("请输入:"))
if not 0 <= score <= 100:
print("Error, 您输入的不对!")
>>>
请输入:1000
Error, 您输入的不对!
>>>    

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)的字符串

 >>> bin(1)
'0b1'
>>> bin(2)
'0b10'
>>> bin(3)
'0b11'
>>> bin(4)
'0b100'
>>> bin(5)
'0b101'
>>> bin(6)
'0b110'
>>> bin(7)
'0b111'
>>> bin(8)
'0b1000'
>>> bin(9)
'0b1001'
>>> bin(10)
'0b1010'
>>> bin(11)
'0b1011'

|   位或
语法:
  表达式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
-2
>>> ~2
-3
>>> ~3
-4
>>> ~4
-5
>>> ~5
-6
>>> ~0
-1
>>> ~7
-8
>>> ~10
-11
>>> ~200
-201

练习:
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

Python之路,第三篇:Python入门与基础3的更多相关文章

  1. Python之路(第三篇):Python基本数据类型字符串(二)

    一.基本数据类型1.字符串 str字符串方法介绍(二)a --expandtabs( ) expandtabs( ) 把字符串中的 tab 符号('\t')转为空格参数默认为8,注意字符串原有的空格也 ...

  2. 【Python之路】第九篇--Python基础之线程、进程和协程

    进程与线程之间的关系 线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除.线程可与属于同一进程的其它线程共享进程所拥有的全 ...

  3. 【Python之路】特别篇--Python面向对象(进阶篇)

    上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...

  4. Python之路(第八篇)Python内置函数、zip()、max()、min()

    一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回t ...

  5. Python之路(第七篇)Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数

    一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") ret ...

  6. Python之路(第五篇) Python基本数据类型集合、格式化、函数

    一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...

  7. 【Python之路】特别篇--Python切片

    字符串切片操作 切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割. 注意: 数是可选的,而冒号是必须的. consequence[start:end:step] 切片操作符中的 ...

  8. 【Python之路】特别篇--Python文件操作

    文件操作 open函数,该函数用于文件处理 操作文件时,一般需要经历如下步骤: (1)打开文件 (2)操作文件 一.打开文件 文件句柄 = open('文件路径', '模式','编码') 打开文件时, ...

  9. 【Python之路】特别篇--Python面向对象(初级篇)

    概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...

  10. Python之路【第九篇】堡垒机基础&数据库操作

    复习paramiko模块 Python的paramiko模块,是基于SSH用于连接远程服务器并执行相关操作. SSHClient #!/usr/bin/env python #-*- coding:u ...

随机推荐

  1. django学习之——创建项目

    创建项目让我迷茫了会: 直接cmd 执行django-admin.py startproject  pro_name 肯定是不行的 必须cd到 D:\Program Files\Python3.3.5 ...

  2. .net mvc 列名 'Discriminator' 无效

    环境:asp.net 4.0 + MVC 4 + Entity Framework 5异常:使用code first 碰到错误:列名 'Discriminator' 无效.这是一个很少见的错误,搜索了 ...

  3. 小程序-wepy学习

    组件通信与交互 推荐网址:https://tencent.github.io/wepy/document.html#/?id=%e7%bb%84%e4%bb%b6%e9%80%9a%e4%bf%a1% ...

  4. Ubuntu上安装MySQL

    Ubuntu上安装MySQL非常简单只需要几条命令就可以完成.`````` sudo apt-get update sudo apt-get install mysql-server 会弹出提示,让输 ...

  5. AI标尺,管理面板5.8

    拖动左上角的十字形,如图 重新定义坐标原点,双击十字形则恢复默认原点. 如果一个AI文件打开之后有多个画板,那么在重新存储的时候勾选“将每一个画板存储为单独的文件”那么每个画板都存储为单独的画板. “ ...

  6. python-面向对象增强版

    class Person: def __init__(self, name, id, gender, birth): self.name = name # 实例变量 对象里的变量 self.id = ...

  7. day040 数据库索引补充 存储过程 事务等

    1.正确使用索引 视图: 关键词 view 视图是体格虚拟表 创建视图 : create view 视图名称 as sql语句; 例: create view t_view as select * f ...

  8. mysql 数据迁移

    最近线上系统新挂了一次磁盘,需要将系统磁盘下的 mysql 数据目录迁移到 数据盘上. 经过一番考察,mysql在安装时,使用了预编译的二进制tar.gz包.共有两处配置了 datadir属性 /et ...

  9. linux生成SSH key

    1. 检查SSH keys是否存在 ls -al ~/.ssh2. 生成新的ssh key 输入 ssh-keygen -t rsa -C your_email@example.com

  10. ubuntu 删除开机系统引导,设置快速开机和安静开机

    1.隐藏开机选择界面 1.sudo gedit /etc/default/grub GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true //隐藏开 ...