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 布尔类型
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的更多相关文章
- Python之路(第三篇):Python基本数据类型字符串(二)
一.基本数据类型1.字符串 str字符串方法介绍(二)a --expandtabs( ) expandtabs( ) 把字符串中的 tab 符号('\t')转为空格参数默认为8,注意字符串原有的空格也 ...
- 【Python之路】第九篇--Python基础之线程、进程和协程
进程与线程之间的关系 线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除.线程可与属于同一进程的其它线程共享进程所拥有的全 ...
- 【Python之路】特别篇--Python面向对象(进阶篇)
上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...
- Python之路(第八篇)Python内置函数、zip()、max()、min()
一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回t ...
- Python之路(第七篇)Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") ret ...
- Python之路(第五篇) Python基本数据类型集合、格式化、函数
一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...
- 【Python之路】特别篇--Python切片
字符串切片操作 切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割. 注意: 数是可选的,而冒号是必须的. consequence[start:end:step] 切片操作符中的 ...
- 【Python之路】特别篇--Python文件操作
文件操作 open函数,该函数用于文件处理 操作文件时,一般需要经历如下步骤: (1)打开文件 (2)操作文件 一.打开文件 文件句柄 = open('文件路径', '模式','编码') 打开文件时, ...
- 【Python之路】特别篇--Python面向对象(初级篇)
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...
- Python之路【第九篇】堡垒机基础&数据库操作
复习paramiko模块 Python的paramiko模块,是基于SSH用于连接远程服务器并执行相关操作. SSHClient #!/usr/bin/env python #-*- coding:u ...
随机推荐
- NOSQL -- mongoDB的了解与安装(Wins10)
NOSQL -- mongoDB的了解与安装 首先看看什么是nosql: 我的理解:非关系型数据库,大多是以map形式存储,map<key,value>,适合存储,查询.redis也是no ...
- ORA-12537:TNS:connectionclosed错误处理过程
1.ORA-12537:TNS:connectionclosed错误处理过程 检查监听正常,oracle服务也是正常启动的,但是登录不进去. 2.解决方案 1. cd $ORACLE_HOME/bin ...
- 音频 API 一览
iOS 和 OS X 平台都有一系列操作音频的 API,其中涵盖了从低到高的全部层级.随着时间的推移.平台的增长以及改变,不同 API 的数量可以说有着非常巨大的变化.本文对当前可以使用的 API 以 ...
- win10 将本地项目上传到github (第一次+再次上传)
推荐网址: https://blog.csdn.net/zamamiro/article/details/70172900 https://blog.csdn.net/qq_15800305/arti ...
- nc(netcat)扫描开放端口
探测单个端口是否开放可以用telnet,专业探测端口可以用Nmap,而对于非渗透用途的Linux可以直接用netcat. 1.使用netcat探测端口是否开放 nc -z -v - #z代表不交互要不 ...
- BeanUtils.copyProperties(A,B)使用注意事项
***最近项目中用到BeanUtils.copyProperties(),然后踩了一些坑,也在网上查看了很多同行的测试和总结,现在将自己的测试.整理的注意事项分享如下,希望大家一起学习进步. ***注 ...
- LY.JAVA面向对象编程.内存图
2018-07-06 一个对象的内存图 两个对象的内存图 三个对象的内存图 this static super 向上转型 向下转型
- laravel处理菜单保持的方法:
<!-- 左侧菜单区域 --> <div class="col-md-3"> @section('leftmenu') <div class=&quo ...
- 将数组,矩阵存入csv文件中
我们在做各种模型训练时,往往会先将数据处理成矩阵,然后交给建模的人去训练.这时通常数据清洗者提交的是保存了矩阵的文件,一般为TXT或csv,接下来主要讲解我在实现这个过程中遇到的一些问题. impor ...
- Fiddler系列教程2:手机抓包图文教程
上篇Fiddler教程,我们教了大家Fiddler安装配置及如何使用Fiddler进行基本的Http抓包及模拟请求,今天给大家介绍下如何使用Fiddler进行手机抓包. 运行环境为Windows 10 ...