python求5_python(五)——运算符,小整数对象池
1.成员运算符,判断某个东西是否在某个东西里包含:in,not in
name = "abcd"
if "ac" inname:print("ok")else:print("error")# 结果errorif "a" not inname:print("ok")else:print("error")# 结果error
2.布尔值 True,False
== > = <= !=(不等于) <>(不等于) not(非)
v = not False # True
name = 'abcd'v= 'c' innameprint(v) # Trueifv:print('1') # 1else:print('2')
3.逻辑运算
and,or,not
user == 'alex' and (pwd == '123' or 1 == 1)
先计算口号里面的
执行顺序:
从前到后
结果
True OR ==> True
True AND ==> 继续走
False OR ==> 继续走
False AND ==> False
4.赋值运算
+=,-=,/=,//=,*=,%=,**
a = 3b= 3c= 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 =0b1111print(int(binNum)); #15
oNum= 0o5432 #0o开头表示八进制
print(int(oNum)) #2842
print(3 & 2) #2
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求5_python(五)——运算符,小整数对象池相关推荐
- python整数池_【Python】Python中神奇的小整数对象池和大整数对象池
小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立 ...
- Python的小整数对象池
1. 小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 257) 这些整数对象是提 ...
- python求5_Python 5 运算符
数学运算符: + 加 1 + 1 = 2 - 减 2 - 1 = 1 × 乘 2 × 2 = 4 / 除 3 / 2 = 1.5 不同版本可能显示小数位数不同 ...
- Python中小整数对象池和大整数对象池
1.小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 256] 这些整数对象是提前 ...
- 小大整数对象池及intern机制
1. 小整数对象池 Python 对⼩整数的定义是[-5, 256] 2. 大整数对象池 每⼀个⼤整数,均创建⼀个新的对象. a = 100 b = 100 # print(a i ...
- python整数池_对Python中小整数对象池和大整数对象池的使用详解
1. 小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 256] 这些整数对象是提 ...
- 学习python第十五天,面对对象
学习python第十五天,面对对象 面对对象又叫劝退对象,要么劝退你的对象,要么python劝退你,hhhh 开玩笑,但是这块知识点确实比较难 面向对象编 面向对象编程 指令式编程---->面向 ...
- python输入一个数字n、计算1到n的和_怎么用python求1到n所有整数的和
计算题算是python实例里最基础的一项内容,经常能碰到的就是求和,下面针对求和,给大家讲解一个可以套用的方案,一起来看下吧~ 我们要实现这样一个功能:计算1到任意一个我们给出的整数之间的数字之和是多 ...
- python - 求商和余数“/“ “//“ “%“运算符的区别
/ 表示浮点数除法, 结果中保留小数点 num = 5 num /= 2 print(num) # 输出 2.5 // 表示整数除法,返回不大于结果的一个最大的整数. num = 5 num //= ...
最新文章
- javascript编写_如何通过编写自己的Web开发框架来提高JavaScript技能
- 一图看清全球270家典型区块链服务商
- 有关无人驾驶汽车的思考
- mysql vpformysql引擎_MySQL InnoDB引擎B+树索引简单整理说明
- Java黑皮书课后题第6章:**6.22(数学:平方根的近似求法)实现Math类中dsqrt方法的技术:巴比伦法nextGuess = (lastGuess + n / lastGuess) / 2
- 软件设计师 - 算法思想
- net 中web.config一个配置文件解决方法 (其他配置文件引入方式)
- LeetCode 542 01 矩阵
- dbvisualizer free 9.5.6中文乱码
- 水晶报表横向打印BUG处理
- 转载:给自己一个警示
- 创建模式--辛格尔顿
- php music player,cloudmusic.php
- 视频教程-备战2020毕业季—毕业设计论文实战课程讲解-.NET
- Example文件简介
- IO流---Reader和Writer
- 『德不孤』Pytest框架 — 14、Pytest参数化
- 【从零开始学习MySql数据库】(3)函数与子查询和连接查询
- 【客户服务】客户流失该如何应对
- 计算机初级培训教学大纲,计算机初级培训教学大纲(范文).doc
热门文章
- cookie关键字_我遇过的最难的Cookie问题
- sklearn中的xgboost_xgboost来了
- Linux上部署、安装nodejs
- uboot引导kernel - 2- uboot/kernel需要放在DDR什么位置的问题
- mybatis简化实现思路
- MyEclipse快捷键
- Android App优化之延长电池续航时间
- 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)
- 金融时报:谷歌撤离中国有99.9%的可能性
- 【error】error: field * has incomplete type