(转)python学习笔记4--数字类型与操作符
原文:https://blog.csdn.net/lemonwyc/article/details/37558269
1. 同时赋值(Simultaneous Assignments)
python支持在一个语句中对多个变量进行赋值,格式是var1, var2, ..., varn = exp1, exp2, ..., expn;这样非常方便。如上一节的输入例子中,可以直接用number1,number2, number3 = eval(input("Enter three numbers: ")) 代替那三行语句,但要注意的是,输入时要用逗号隔开,如1,2,3 否则会报错。另外,在交换变量值的表达上,python也做的非常简洁,只需要x,y = y,x 即可表示互换x,y的值。
2. 数字类型
python中包含三种类型的数字:integers、floating-point numbers、complex numbers。
integers没有精度限制,它的理论大小是内存可以表示的大小(^^!)。
floating-point numbers通常和c语言中的double类型相似,它在内存中是以科学计数法表示的,如1.23456e+9,它是有上限的,我大致测试了一下,它的上限是2.0**1024-1(python3.2)。
complex numbers包括实数部分和虚数部分,分别可以用var.real()和var.imag()来获取,var是变量名。
除此之外,python标准库还有其他一些类型,如fractions表示有理数,decimal()表示一定精度的floating-point。
3. 操作符和一些与数字有关的内置函数
常见的+, -, *, 操作符不必多说,(不过要注意单操作符情形,即表示正负)。此外还有:
/ :除法运算,python默认的除法运算结果是floating-point类型;
// :整除运算,如5//2=2, -1/-2=0, -1/2=-1;
**:指数运算,如2**4=16,等同于内置函数pow(2,4);如果任一操作数为浮点数,结果是浮点数;
%:除余运算,如5%2=1;
+=,-=,*=,/=,//=,%=,**=,分别是这些操作符对自身操作(必须是变量),并将结果赋给自身的操作符;如a=5;a/=2等价于a=a/2;
abs(x):绝对值函数,如abs(-1)=1;
int(x):将x转换为整数,x可以是浮点数,也可以是字符串;
float(x):将x转换为浮点数;
complex(real,imag):复数的函数表达形式;
pow(x,y):指数函数;
round(x):取最近整数值函数,如round(5.4)=5, round(5.6)=6;
补充两点:
1)int()和eval()都可以将string转换成整数,有没有什么区别呢?有的。eval()可以计算表达式,int()不行;eval()可以将string转换成数字,不管它是不是整数,如eval("3.4")可以,而int("3.4")则会报错;但是eval()不可以转换首字符为0的string,如eval("007")会报错,而int("007")=7。
2)当前已学习的操作符优先级为(从高到低):() > ** > *, /, //, % > +, - 。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性