辛丑年丙申月癸卯日|数与运算

链式赋值

链式赋值用于同一个对象赋值给多个变量。
x=y=123 相当于:x=123; y=12

系列解包赋值

系列数据赋值给对应相同个数的变量(个数必须保持一致)

a,b,c=4,5,6 
#相当于:a=4;b=5;c=6
a,b=b,a
#a与b交换值

常量

python不支持常量,即没有语法规则限制改变一个常量的值,我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值做出修改。(实际上是可以改的,只能在逻辑上不做修改)
命名规范:全部大写且用下划线隔开如MAX_SPEED。

部分基本运算符

运算符运算
/浮点数除法
//整数除法
%模(取余)
**

divmod()函数同时得到商和余数

divmod(13,3)
#(4,1)

整数

进制

表达进制
0b或0B二进制
0o或0O八进制
0x或0X十进制

类型转换

int()实现类型转换

int(9.9)
#9
int(True)
#1
int("456")
#456
#只对整数字符串有用,浮点数和带其他字符都会报错。

自动转型

2+8.0
#10.0

整数可以有多大?

python2中,int是32位,可以储存从-2147483468到2147483468的整数(约±21亿),long是4位,可以储存-263至263-1的数值。
python3,int可以存储任意大小的整数,long被取消,非常适合做科学运算。

浮点数

科学计数法

如3.14

3.14
314E-2
314e-2

浮点数类型转换

float(3)
#3.0
#不会改变原有的值,而是产生新的值。
float("3.14")
#3.14

四舍五入

round(3.14)
#3
round(3.54)
#4

增强型赋值运算符

运算符例子等价
+=a+=2a=a+2
-=a-=2a=a-2
*=a*=2a=a*2
/=a/=2a=a/2
//=a//=2a=a//2
**=a**=2a=a**2
%=a%=2a=a%2
<<=a<<=2a=a<<2
>>=a>>=2a=a>>2
&=a&=ba=a&b
|=a|=ba=a|b
^=a^=ba=a^b

python不支持自增自减

加法和乘法都可以用于
1、数字相加/相乘
2、字符串拼接/复制
3、列表、元组的合并/复制

运算后得出结果是从一个引用指向另一个引用,原指向的数将被丢进垃圾回收站释放。

运算符优先级

乘除优先于加减
位运算和算术运算>比较运算符>赋值运算符
复杂表达式一定要用小括号组织起来

时间

计算机时间从1970年1月1日00:00:00开始,以毫秒进行计算。将这个时刻成为unix时间点。在1970年之前的时间用负数,1970年之后的时间用正数。

import time
time.time()
#获得以秒为单位,以微秒为精度的浮点数值。
b=int(time,time())
#保存获取的秒数
totalMinutes=b//60
#计算获取的分钟,并保存为整数
totalHours=totalMinutes//60
#计算获取的小时,并保存为整数
totalDays=totalHours//24
#计算获取的天,并保存为整数
totalYears=totalDays//365
#计算获取的年,并保存为整数

开方计算

math.sqrt()

布尔值

True和False,本质是1和0,可以和数字相加。

a=True
b=3
a+b
#结果为4

比较运算符

运算符描述
==是否相等
!=是否不等
>是否大于
<是否小于
>=是否大于等于
<=是否小于等于

可以连用

>>>a=4
>>>3<a<10
True

逻辑运算符

运算符格式说明
or
(逻辑或)
x or yx为true则返回true
x为false,则返回y的值
and
(逻辑与)
x and yx为true,则返回y的值
x为false,不计算y直接返回false
not
(逻辑非)
not xx为true,返回false
x为false,返回true

位操作

>>>a=0b11001
>>>b=0b01000
>>>c=a|b
>>>bin(c)
'0b11001'
#有1为1
>>>bin(a&b)
'0b1000'
#有0为0
>>>bin(a^b)
'0b10001'
#相异为1,相同为0
>>>a=3
>>>a<<2#左移1位相当于乘以2,左移2位相当于乘以4
12
>>>a=8
>>>a>>1#右移1位相当于除以2

同一运算符

运算符描述
isis是判断两个标识符是不是引用同一对象
is notis not 是判断两个标识符是不是引用不同对象

is和==的区别:
is用于判断两个变量引用对象是否为同一个,即相比对象的地址
==是判断引用变量引用对象的值是否相等,默认调用对象的__eq__()方法。
is运算符比==效率高,因为==调用了方法,在变量和None进行比较时,应该使用is。

整数缓存的问题

[-5,256]之间的数在idle跑到时候会被缓存起来,在全局解释器范围内被放入缓存供重复使用,范围之外的数会重新生成,也即

>>>a=10
>>>b=10
>>>a is b
True
>>>a=1000
>>>b=1000
>>>a is b
False

[-5,任意正整数]之间的数在文件里跑到时候会被缓存起来,也即

a=10
b=10
a is b
#True
a=1000
b=1000
a is b
#True
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值