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 乘方运算:
随机推荐
- 【亲测有效】Kali Linux无法安装网易云音乐的解决方案
问题描述 由于 Kali Linux 的内核是基于 Debian 的,我们在安装网易云音乐的时候更偏向于选择安装网易云音乐 v1.1.0 deepin15(64位) 的包,可是我发现在安装过程中,无法 ...
- 使用Zabbix服务端本地邮箱账号发送报警邮件及指定报警邮件操作记录
邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain), ...
- [Android]记录一次处理app:transformDexArchiveWithExternalLibsDexMergerForDebug错误
第一种情况: Android 目录结构如下: app中build.gradle包含: implementation 'com.squareup.okhttp3:okhttp:3.6.0' implem ...
- bootstrap完善按钮组bug
.btn.active { border: 1px solid #ff9400 !important; color: #ff9400 !important; } <div class=" ...
- 震旦199打印机扫描A4文件
1.需要扫描的A4文件放入输稿器 2.使用数据线将打印机.电脑连接 3.在电脑中右键打印机,选择扫描功能 4.如下图,选择选项后,点击扫描即可
- Oracle 使用PDB 的情况下进行备份恢复的使用.
1. 关于directory: pdb 需要在container 上面创建directory才可以使用 CDB里面创建的directory是会无反应. 在PDB 里面创建: cmd 之后运行 set ...
- LODOP在页面不同位置输出页眉页脚
Lodop中的页眉页脚项的特点是:每页固定位置输出,具体该特点可查看本博客的其他博文:Lodop打印项对象类型属性区分 Lodop中有可以设置打印项次页偏移属性,但是该方法是针对单个打印项自动分页的, ...
- 主成分分析PCA(Principal Component Analysis)在sklearn中的应用及部分源码分析
最近太忙,又有一段时间没写东西了. pca是机器学习中一个重要的降维技术,是特征提取的代表.关于pca的实现原理,在此不做过多赘述,相关参考书和各大神牛的博客都已经有各种各样的详细介绍. 如需学习相关 ...
- caffe中的lr_policy
// The learning rate decay policy. The currently implemented learning rate // policies are as follow ...
- Ubuntu 16.04安装Eclipse
此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页. 前提:必须正确安装JDK和Tomcat. 下载: https://www.eclipse. ...