python(五)——运算符
1.成员运算符,判断某个东西是否在某个东西里包含:in,not in
name = "abcd"
if "ac" in name:
print("ok")
else:
print("error")# 结果error if "a" not in name:
print("ok")
else:
print("error")# 结果error
2.布尔值 True,False
== > < >= <= !=(不等于) <>(不等于) not(非)
v = not False # True
name = 'abcd'
v = 'c' in name
print(v) # True
if v:
print('') # 1
else:
print('')
3.逻辑运算
and,or,not
user == 'alex' and (pwd == '123' or 1 == 1)
先计算口号里面的
执行顺序:
从前到后
结果
True OR ==> True
True AND ==> 继续走
False OR ==> 继续走
False AND ==> False
4.赋值运算
+=,-=,/=,//=,*=,%=,**
a = 3
b = 3
c = 8
print(a ** b) # 27 次方
print(a * b) # 9
print(c // a) # 整除 2
print('#' * 50) 50个前面字符串部分
分类:
结果是值:
算术运算
赋值运算
结果是布尔值:
比较运算
逻辑运算
成员运算
is, is not
# is 用户对象比较 id()
sal = 5000;
sum = 5000;
print(sal is sum) # True, 他们id相同
5,位运算符
'''
位运算符
& 与
| 或
! 非
^ 异或
<< 左移
>> 右移
'''
num = 8
print(bin(num)) # 0b1000, 0b表示二进制
binNum = 0b1111
print(int(binNum)); # oNum = 0o5432 # 0o开头表示八进制
print(int(oNum)) # print(3 & 2) #
https://www.cnblogs.com/fmgao-technology/p/9261794.html
1. 小整数对象池
整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。
Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,无论这个整数处于LEGB中的哪个位置,
所有位于这个范围内的整数使用的都是同一个对象。同理,单个字母也是这样的。
In [1]: a=-5 In [2]: b=-5 In [3]: a is b
Out[3]: True In [4]: a=256 In [5]: b=256 In [6]: a is b
Out[6]: True In [7]: a=1000 In [8]: b=1000 In [9]: a is b
Out[9]: False
intern机制处理空格一个单词的复用机会大,所以创建一次,有空格创建多次,但是字符串长度大于20,就不是创建一次了。
In [13]: a="abc" In [14]: b="abc" In [15]: a is b
Out[15]: True In [16]: a="helloworld" In [17]: b="helloworld" In [18]: a is b
Out[18]: True In [19]: a="hello world" In [20]: b="hello world" In [21]: a is b
Out[21]: False
s1 = "abcd"
s2 = "abcd"
print(s1 is s2) s1 = "a" * 20
s2 = "a" * 20
print(s1 is s2) s1 = "a" * 21
s2 = "a" * 21
print(s1 is s2) s1 = "ab" * 10
s2 = "ab" * 10
print(s1 is s2) s1 = "ab" * 11
s2 = "ab" * 11
print(s1 is s2)
# True
# True
# False
# True
# False
2.大整数对象池。说明:终端是每次执行一次,所以每次的大整数都重新创建,而在pycharm中,每次运行是所有代码都加载都内存中,属于一个整体,所以
这个时候会有一个大整数对象池,即处于一个代码块的大整数是同一个对象。c1 和d1 处于一个代码块,而c1.b和c2.b分别有自己的代码块,所以不相等。
C1.b is C2.b
In [22]: a=1000 In [23]: b=1000 In [24]: a is b
Out[24]: False In [25]: a=-1888 In [26]: b=-1888 In [27]: a is b
Out[27]: False In [28]:
c1 = 1000
d1 = 1000
print(c1 is d1) # True
class C1(object):
a = 100
b = 100
c = 1000
d = 1000 class C2(object):
a = 100
b = 1000 print(C1.a is C1.b) # True
print(C1.a is C2.a) # True
print(C1.c is C1.d) # True
print(C1.b is C2.b) # False
python(五)——运算符的更多相关文章
- 【Python五篇慢慢弹】快速上手学python
快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...
- 【Python五篇慢慢弹】数据结构看python
数据结构看python 作者:白宁超 2016年10月9日14:04:47 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...
- 【Python五篇慢慢弹(3)】函数修行知python
函数修行知python 作者:白宁超 2016年10月9日21:51:52 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...
- 【Python五篇慢慢弹(4)】模块异常谈python
模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondo ...
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- Python基本运算符
Python基本运算符 什么是操作符? 简单的回答可以使用表达式4 + 5等于9,在这里4和5被称为操作数,+被称为操符. Python语言支持操作者有以下几种类型. 算术运算符 比较(即关系)运算符 ...
- Python算术运算符
Python 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4和5被称为操作数,"+"号为运算符. Python语言支持 ...
- Day2 Python的运算符及三大语句控制结构
Python的运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 Python的三大语句控制结构: ...
- Python 算术运算符
Python 算术运算符 运算结果为浮点数 除法:/ 整除: // 求余计算: % 求余运算可以用于固定时间的检测,比如说每10分钟进行一次什么样的操作,则:minute % 10 乘方运算:
随机推荐
- Linux mount 命令进阶
笔者在<Linux mount 命令>一文中介绍了 mount 命令的基本用法,本文我们接着介绍 mount 命令的一些高级用法,比如 bind mounts(绑定挂载)和 shared ...
- Web系统页面打印技术实现与分析
1 Web页面打印概述应用WEB化,不论对开发商,还是对用户来说,实在是一种很经济的选择,因为基于WEB的应用,客户端的规则很简单,容易学习,容易维护,容易发布.在WEB系统中,打印的确是个烦人的问题 ...
- 小学四则运算APP 第二阶段冲刺-第五天
团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的是判断题代码,已经实现部分功能,,但是美中不足的是判断错误 panduanset.j ...
- HDOJ2041_超级楼梯(斐波拉契数列)
正常简单题:通过仔细观察推断即可看出这是一个斐波拉契数列的题目. HDOJ2041_超级楼梯 在做这题的时候我误入了思维盲区,只想着什么方法可以解决,没有看出是斐波拉契数列.因此第一次用组合数方法打了 ...
- Android动画总结
本文总结常用属性方法等,详细学习可使用如下郭霖大神文章: Android属性动画完全解析(上),初识属性动画的基本用法 Android属性动画完全解析(中),ValueAnimator和ObjectA ...
- PHP加密与编码技术
md5加密: string md5( string $str [,bool $raw output=false]) md5加密方法用的挺多,有两个参数,第一个参数是要加密的字符串,第二个参数默认为f ...
- Intel SP处理机以及AMD处理器的一些对比资料
1. EPYC 与 intel的CPU对比 2. Intel SP处理器参数: 3. AMD处理器参数 4. Intel SP处理器部分参数2 5. Intel SP处理器简单说明 6. intel ...
- QA
QA:Quality Assurance,品质保证 IDQA:Individual Document Quality Assurance 设计品质保证 QE:Quantitative Easing 质 ...
- hive 远程管理
- loadrunner基础学习笔记四
在loadrunner中,通过将一系列操作标记为事务,可以将它们指定为要评测的操作. loadrunner收集关于事务执行时间长度的信息,并将结果显示在用不同单色标识的图和报告中. 可以这些信息了解应 ...