1_简单数据类型和运算符

目录

运算符

链式赋值

系列解包赋值

 常量

浮点数除法

整数除法

增强型运算符

与或非

同一运算符

进制

进制表示

简单数据类型

整数

浮点数

进制转换

四舍五入


 

 

  • 运算符

链式赋值

x = y = 123    #相当于 x = 123; y = 123;

系列解包赋值

x, y, z = 1, 2, 3    #相当于 x = 1; y = 2; z = 3;    等号两边个数一致              

应用:交换两个变量的值

x, y = 1, 2
x, y = y, x    #简单粗暴,不讲道理

 常量

理论上不支持常量,但是可以逻辑上认定某个变量为常量,整个编程过程中不改变它的值即可。(命名规则,一般全大写)

 

浮点数除法

>>> 7 / 7
1.0 

整数除法

>>> 7 // 3    #这里的 // 中间不能有空格
2

0 不能作为被除数,会报错!

浮点数和整数计算,结果是浮点数!

>>> 2 ** 3    # ** 中间不能有空格
8

增强型运算符

>>> i = 1    # 适用基本运算符
>>> i += 1   # 这里的 += 中间不能有空格(和C语言一样)!!!
>>> i
2

与或非

>>> a = True; b = False; c = 2

>>> a or c        # 和C语言一致,当 or 前面的为真,直接返回,不执行 or 后面的代码
True
>>> a or 30/0     # 原来应该报错,但是没有执行,所以没有报错
True
>>> a or (c = 0)  # 但是要注意,即使在 or 后面,依然不能违背语法规范
SyntaxError: invalid syntax
>>> c or a        
2
>>> b or a
True

>>> a and c       # 当 and 前面为假,不执行 and 后面的代码,直接返回False
2
>>> b and c
False

>>> not a
False
>>> not c
False

同一运算符

>>> a = 1; b = 1               # is 判断的是:是否引用了同一个对象,即比较的是对象地址
>>> a is b
True

>>> a = 258; b = 258           # 注意这里和下面的区别
>>> a is b
True

>>> a = 258                     
>>> b = 258
>>> a is b
False
>>> a is not b                 # is not 中间必须有空格
True

1. 整数缓存问题:Python命令行模式下,整数缓存范围是 [-5,256] ,也就是在这个范围内,值相同,调用的对象也相同。而在文本编辑器中的的范围是 [-5,无穷) 。

2. Python为了进一步优化,凡是在同一个代码块中的代码,如果出现两个值相同的整数,那么它们将被重用。

    具体可以参考知乎 刘志军 老师的解答传送门!!!

  • 进制

进制表示

# 所有的进制表示和后面的值中间不能有空格
>>> 0b0110                        # 0B0110 也可以
6
>>> 0b2100                    # 后面的值要满足前面的进制,注意
SyntaxError: invalid token    
>>> 0o10                          # 0O10 也可以  
8
>>> 0o18                      # 注意
SyntaxError: invalid syntax
>>> 0x14                          # 0X14 也可以
20
  • 简单数据类型

整数

Python3 中整数可以无限大,所以 Python 适合做科学运算! 

浮点数

>>> 314E-2    # 浮点数的科学计数法表示
3.14

进制转换

>>> int (9.9)        # 直接去掉小数点后的
9
>>> int (False)      # 注意 F 大写 
0
>>> int (True)       # 注意 T 大写
1
>>> int ("1245")     # 字符串类型不能有除数字外的字符
1245
>>> int ("124abc")
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    int ("124abc")
ValueError: invalid literal for int() with base 10: '124abc'
>>> float (3)    # 这里并没有改变原对象中的 3 ,而是生成了一个类型为浮点型的新对象
3.0

四舍五入

>>> round (3.14)    # 不改变原对象的值
3
>>> round (-3.14)
-3
>>> round (-3.56)
-4

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值