2.1、不同类型的数值
Python 提供了三种类型的可用数值:整数、浮点型和虚数。
在之前的版本中,Python用不用的方法处理大数,介于-2147483648和+2147483647之间的认为整形,更大的数提升为长整形。现在俩种类型已经合并,所以整形用于表示整数,无论整数是正数还是负数。
数值的分类,可以用Python中内置的一个特殊函数 type,使用type时,Pyhon会告诉正在使用的数据类型
>>> type (10)
<class 'int'>
>>> type (2.0)
<class 'float'>
示例说明
本质上,浮点数与整数的特殊区别在于浮点数有小数部分,包含小数部分的任意数值都被当做浮点数(虚数除外,它们有单独的规则)
虚数:面向工程师和数学家的数值类型,内置到Python中。除了不能与浮点数混合之外,虚数与浮点数很相似。
>>> 12j
12j
示例说明
在数值后面使用字母j,并且数值和字母都不是字符串(不在引号中)时,Python知道要输入的数值看做虚数,出现在字符串以外的字母必须有特殊的含义,否则,一个字母单独出现会导致出错!可以将虚数和非虚数结合起来,创建一个复数:
>>> 12j + 1.01
(1.01+12j)
2.2 程序文件
我使用的Visual Studio Code 编辑,记事本等都是类似操作,新建文件----输入下列文本print("This is a basic string")-----保存(输入文件名和存储目录,Python文件使用.py扩展名,因此始终确保将.py加到文件名之后。终端(terminal)---新建终端---cd到保存文件夹路径---运行python f.py (f为保存的文件名)。
2.2.1 使用不同的类型
在Python中使用的任何东西都可以看做具有属性的对象,并且所有的属性结合在一起定义了这个对象,每个对象最重要的属性是它的类型,现在对于类型,最重要的是要理解,一些自然而然可以理解的操作(例如+操作)只能用于俩个可兼容类型的对学习,大部分情形下,除了数值以外,可以把可兼容类型看做同一类型
小提示:如果确实想对数值和字符串执行+操作(自己可以决定的风格问题),可以使用一个内置函数str,该函数在可行的情况下把数值转换为字符串。这样可以完成将字符串和数值相加,形成一个单独的字符串操作。然而,为了保持一致,现在仍然使用字符串格式说明符。
>>> "Controlling the number of decimal place shown : %.02f " % 25.101010101
'Controlling the number of decimal place shown : 25.10 '
示例说明
任何时候,当为字符串提供格式说明符时,可能会有一些选项可以用来控制说明符如何显示与它相关联的值。
>>> print("The %% behaves differently when combined with other letters , like this : %%d %%s %%f %d" % 10)
The % behaves differently when combined with other letters , like this : %d %s %f 10
如果想在程序中打印字符%d,可以在Python字符串中连续使用两个%符号,这仅在同一字符串中还有其他可以替换的有效格式说明符时才需要。注意,Python注意字符的组合,它将一个字符串中既有格式说明符又有双百分号时正确工作。
2.2.2 基本算术
>>> 4023 - 22.46
4000.54
示例说明
简单的算术运算和预期的一样,由于浮点数和整数的区别,乘法和除法就没有想象的那么直截了当。
>>> 2000*392381727
784763454000
>>> 2e34*3923817273929
7.847634547858e+46
>>> 2e304*3923817273929
inf
注意:尽管Python可以处理非常大的数,但是一些操作还是会超过Python容纳能力,无法处理的大数会返回inf(infinity 无穷大)的缩写
>>> 44 / 11
4.0
>>> 324 / 101
3.207920792079208
如果将一个整数与另外一个整数相除,将显示一个浮点数,即使没有余数的情况下也是如此。如4.0 显示为浮点型,但实际上它仍然是整形,不过324/101 的结果被转换成一个浮点数
>>> 5 / 3
1.6666666666666667
>>> 5%3
2 取余功能
>>> print ("%f" % (5/3))
1.666667 %f默认小说点6位
>>> print ("%.2f" % (5/3))
1.67 %.2f默认小说点2位
>>> print ("%0.f" % (5/3))
2 %0.f默认整数
2.2.3 求值顺序
>>> (24 * (8+3.0))
264.0
>>> (24 * (8+3+7)) % 19
14
类似正常求值顺序的方式组合,使用圆括号可以肯定哪组代数运算首先被求值。注意:使用浮点数,整个公式改为浮点数
2.2.4 将数字格式化为八进制和十六进制
%d 十进制整数
%o 八进制整数
%x 十六进制整数
%d %o %x 使用的时候加"或者""符号;格式说明符和后面数值的数量必须相符合;不然会报错
>>> print ('Octal uses the letter "o" lowercase . %d %o' % (10 , 10))
Octal uses the letter "o" lowercase . 10 12
八进制仅有8个数值(0~7),因此0-10用八进制表示依次为0、1、2、3、4、5、6、7、10、11、12
>>> print ('Octal uses the letter "x" or "X" . %d %x %X' % (10 , 10 , 10))
Octal uses the letter "x" or "X" . 10 a A
十六进制使用0~15的数字,但是因为9后面没有数字,使用a~f。使用%x,这些字母就是小写,同理使用%X,则是大写。因此,十进制的0~19用十六进制表示为:0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f、10、11、12、13。
报错说明:arguments指的是格式说明符,