亲爱的学习者们,学习Python首先我们要了解Python的优缺点,以便我们更好的认识和使用这门语言。
优点:1.学习曲线平滑
2.代码简单灵活
3.开发效率高
4.程序的移植性强
5.用户群庞大
缺点:1.程序运行效率低
2.商业安全性差
3.版本兼容性差
Python3支持的四种数值类型:整型(int),浮点型(float),复数型(complex)和布尔型(bool)。
1.整型:
整型是最简单也是最常用的数据类型,Python的整型十分强大,不用担心“溢出”。所谓“溢出”是指整数大小超过整型变量所能存储的最大值,从而会出现反而变成负数或者一个很小的整数的现象。
在Python中整型的常量除了用十进制表示之外,还可以用二进制,八进制和十六进制表示。
常见整形常量的表示
常量样例解释备注17十进制表示-354负数的十进制表示0b11000011二进制表示,十进制为195以0b或0B开头,后面只能是0或10o345八进制表示,十进制为229以0b或0O开头,后面每个数字小于80x80十六进制表示,十进制128以0x或0X开头,后面除了0到9之外,还可以是a-f或A-F之间的字母Python的整型支持加减乘除,求余和乘方运算,其中除法又分为整数除和浮点数除,前者运算符是“//”,后者运算符是“/”。5//2做的是整数除,结果为2。5/2做的是浮点数除法,结果为2.5。
求余运算"%"的结果是除法的余数部分。一个正整数对2求余的结果只能是0或1中间的一个值,如果是0说明这个数是偶数,否则是奇数。一个正整数对10求余,可以得到个位上的数字。Python还内置了一个divmod函数,可以一次以元组的形式得到商和余数。
如:
>>>5%2
1
>>>123%10
3
>>>-7%10
3
>>>-7%-10
-7
>>>divmod(25,4)
(6,1)
乘方运算符是“**”,利用该运算符可以方便地计算幂值,甚至可以用于求平方根。
如:
>>>2**10
1024
>>>2**0.5
1,4142135623730951
2.浮点型:
Python3只有一种浮点型,并不区分单精度和双精度。它支持常见加减乘除和乘法等数学运算,甚至可以求余。
浮点数常量在Python中有两种表示方法,一种是常见的十进制表示法,例如3.1415926;另外一种是指数表示法,相当于数学里的科学计数法。指数表示法的具体形式可以采用下面两种之一。
尾数e指数
尾数E指数
可见,指数表示法中e可以是大写也可以是小写。其中尾数是一个十进制数,可以是整数也可以带小数,指数部分是一个十进制整数。指数表示法代表的值是尾数乘以10的指数的幂。
例如1,23E5就是1.23*10的五次方,1.2e-6就是1.2*10的负六次方。
学习和使用计算机必须清楚地认识到的一个点:计算机对浮点数的表示并不精确,会由于精度不够出现“舍入误差”。
如:
>>>0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1
0.7999999999999999
>>>0.1*8
0.8
在判断两个浮点数是否相等时尽量不要直接判断相等,通常是判断二者的差的绝对值是否小于一个很小的数。这个很小的数到底是多少?取决于具体问题的精度需求。
3.复数型:
Python语言本身内置了复数类型,无需依赖于标准库或者第三方库就可以使用复数。复数由实部和虚部组成,在Python中,复数的虚部以j或者J作为后缀,具体格式为:
a+bj
其中a表示实部,b表示虚部,两者的数值都是浮点数。复数对象的real属性可以得到复数的实部,imag属性可以得到复数的虚部,它的conjugate方法可以得到当前对象的共轭复数。
>>>x=3+5j
>>>x
(3+5j)
>>>x.real
3.0
>>>x.imag
5.0
>>>x.conjugate()
(3-5j)
复数直接支持加减乘除和乘方数学操作,但如果需要对复数执行复杂的数学运算,需要引入cmath模块,然后可以调用其中的各个函数。
4.布尔型:
在Python中,布尔型只有True和False两个值。但布尔值世纪上是作为整数的子类实现的,True和False其实是1和0,因此它们也可以和数字进行数学运算。
>>>flag=True
>>>flag
True
>>>1+flag
2
>>>not flag
False
其中>>>相当于print()