python语言中、复数类型中实数部分_python学习03.02:Python数值类型(整形、浮点型和复数)及其用法...
实际开发中,我们经常需要使用数字记录游戏中用户的得分、游戏中角色的生命值、伤害值等信息,Python 语言提供了数值类型用于保存这些数值。
需要注意的是,Python 中这些数值类型都是不可改变的,也就是说,如果我们要修改数字类型变量的值,那么其底层实现的过程是,先将新值存放到内存中,然后修改变量让其指向新的内存地址,换句话说,Python 中修改数值类型变量的值,其实只是修改变量名所表示的内存空间。
数值类型只是一个泛泛的统称,Python 中的数值类型主要包括整形、浮点型和复数类型。
Python整型
整形专门用来表示整数,即没有小数部分的数。在 Python 中,整数包括正整数、0 和负整数。
和其他强类型语言不同,它们会提供多种整形类型,开发者要根据数值的大小,分别用不同的整形类型存储,以 C 语言为例,根据数值的大小,开发者要合理选择 short、int、long 整形类型存储,大大增加了开发难度。
Python 则不同,它的整型支持存储各种整数值,无论多大或者多小,Python 都能轻松处理(当所用数值超过计算机自身的计算功能时,Python 会自动转用高精度计算)。
例如如下代码:
# 定义变量a,赋值为56
a = 56
print(a)
# 为a赋值一个大整数
a = 9999999999999999999999
print(a)
# type()函数用于返回变量的类型
print(type (a))
对于没有编程基础的读者, 同样可以在交互式解释器中逐行“试验”上面程序来观看运行效果。由于篇幅限制,本教程后面的程序不再详细列出在交互式解释器中逐行“试验”的过程。
上面程序中,将 9999999999999999999999 大整数赋值给变量 a,Python 也不会发生溢出等问题,程序运行一样正常,这足以证明 Python 的强大。
使用 Python 3.x 运行上面程序,可以看到如下输出结果:
56
9999999999999999999999
从上面的输出结果可以看出,此时 a 依然是 int 类型。
但如果用 Python 2.x 运行上面程序,由于输入的数值比较大,Python 会自动在其后面加上字母 L(或小写字母 l),如下输出结果:
56
9999999999999999999999L
对比两种输出结果,不难发现:不管是 Python 3.x 还是 Python 2.x,Python 完全可以正常处理很大的整数,只是 Python 2.x 底层会将大整数当成 long 类型处理,但开发者通常不需要理会这种细节。
除此之外,Python 的整型还支持 None 值(空值),例如如下代码:
a = None
print(a) #什么都不输出
Python 的整型数值有 4 种表示形式:
十进制形式:最普通的整数就是十进制形式的整数,在使用十进制表示整数值时,不能以 0(零)作为十进制数的开头(数值是 0 除外)。
二进制形式:由 0 和 1 组成,以 0b 或 0B 开头。例如,101 对应十进制数是 5;
八进制形式:八进制整数由 0~7 组成,以 0o 或 0O 开头(第一个字母是零,第二个字母是大写或小写的 O)。需要注意的是,在 Python 2.x 中,八进制数值还可以直接以 0(零)开头。
十六进制形式:由 0~9 以及 A~F(或 a~f)组成,以 0x 或 0X 开头,
下面代码片段使用了其他进制形式的数:
# 以0x或0X开头的整型数值是十六进制形式的整数
hex_value1 = 0x13
hex_value2 = 0xaF
print("hexValue1 的值为:",hex_value1)
print("hexValue2 的值为:",hex_value2)
# 以0b或0B开头的整型数值是二进制形式的整数
bin_val = 0b111
print('bin_val的值为:',bin_val)
bin_val = 0B101
print('bin_val的值为:',bin_val)
# 以0o或0O开头的整型数值是八进制形式的整数
oct_val = 0o54
print('oct_val 的值为:',oct_val)
oct_val = 0O17
print('oct_val 的值为:',oct_val)
为了提高数值(包括浮点型)的可读性,Python 3.x 允许为数值(包括浮点型)增加下画线作为分隔符。这些下画线并不会影响数值本身。例如如下代码:
# 在数值中使用下画线
one_million = 1000000
print(one_million)
price = 234_234_234 # price 实际的值为234234234
android = 1234_1234 # android 实际的值为12341234
Python浮点型
浮点型数值用于保存带小数点的数值,Python 的浮点数有两种表示形式:
十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须包含一个小数点,否则会被当成整数类型处理。
科学计数形式:例如 5.12e2(即 5.12×10^2)、5.12E2(也是 5.12 ×10^2)。
必须指出的是,只有浮点型数值才可以使用科学计数形式表示。例如 51200 是一个整型值,但 512E2 则是浮点型值。
下面程序示范了上面介绍的关于浮点数的各个知识点:
af1 = 5.2345556
# 输出af1的值
print("af1的值为:",af1)
af2 = 25.2345
print("af2的类型为:",type(af2))
f1=5.12e2
print("f1的值为:",f1)
f2 = 5e3
print("f2的值为:",f2)
print("f2的类型为:",type(f2))# 看到类型为float
通过第 8 行代码可以看出,虽然 5e3 的值是 5000,但它依然是浮点型值,而不是整型值,因为 Python 会自动将该数值变为 5000.0。
注意,使用浮点数进行计算时,可能会出现小数位数不确定的情况,比如说,计算 0.1+0.2,本来应该得到 0.3,但经过测试你会发现,Python解释器的运行结果为 0.30000000000000004。几乎所有编程语言都存在这个问题,这与浮点数在底层的存储方式有关系(后续章节会做详细介绍)。
Python复数
Python 甚至可以支持复数,复数的虚部用 j 或 J 来表示。
如果读者对虚数虚部感到困惑,请直接跳过本节,大部分编程并不会用到复数这么“高级”的数学知识。
如果需要在程序中对复数进行计算,可导入 Python 的 cmath 模块(c 代表 complex),在该模块下包含了各种支持复数运算的函数。
模块就是一个 Python 程序,Python 正是通过模块提高了自身的可扩展性的;Python 本身内置了大量模块,此外还有大量第三方模块,导入这些模块即可直接使用这些程序中定义的函数。
下面程序示范了复数的用法:
ac1 = 3 + 0.2j
print (ac1)
print(type(ac1)) # 输出复数类型
ac2 = 4 - 0.1j
print(ac2)
# 复数运行
print(ac1 + ac2) #输出(7+0.1j)
# 导入cmath 模块
import cmath
# sqrt()是cmath 模块下的商数,用于计算平方根
ac3 = cmath.sqrt(-1)
print (ac3) #输出1j
python语言中、复数类型中实数部分_python学习03.02:Python数值类型(整形、浮点型和复数)及其用法...相关推荐
- python iloc函数_如何使用python语言中pandas模块中的iloc方法
在python语言中,pandas模块中的iloc方法,可以截取矩阵,获取部分矩阵元素.行和列.下面利用实例说明iloc方法的用法,操作如下: 工具/原料 python pycharm 截图工具 方法 ...
- python是什么语言编写的程序称为_Python 学习(一)【Python语言简介-Python是什么】...
Python是一种编程语言,它的名字来源于一个喜剧.也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用. Python是什么(转载自Primus) 著名的 ...
- python两层循环 循环完整体一个_Python学习教程(Python学习路线):Python编写循环的两个建议...
原标题:Python学习教程(Python学习路线):Python编写循环的两个建议 Python学习教程(Python学习路线):给大家总结了两个Python编写循环的建议 循环是一种常用的程序控制 ...
- 下列表达式在python中是非法的_在Python语言中,以下非法的表达式是( )
[单选题]6.9 下列各式避雷器放电电压的说法错误的是( ) [单选题]下列哪种数据类型是整型() [判断题]修剪的快捷命令键是rt [单选题]已知x,y=" ",-1:则 ...
- 在python语言中可作为源文件后缀名的是_在Python语言中,可以作为源文件后缀名的是( )_学小易找答案...
[多选题]在2013清单计价中,其他项目界面,包括( ) [多选题]在分部分项工程清单下,添加一项定额的方法有( ) [单选题]下列各项中,关于企业无法查明原因的现金溢余,经批准后应贷记的会计科目是( ...
- 关于python语言中缩进的说法_以下关于Python语言中“缩进”说法正确的是:
[多选题]From the perspective of the production enterprise (the content is more extensive), any differen ...
- python语言中整型对应的英文是什么-12.Python数值类型(整形、浮点型和复数)及其用法...
实际开发中,我们经常需要使用数字记录游戏中用户的得分.游戏中角色的生命值.伤害值等信息,Python 语言提供了数值类型用于保存这些数值. 需要注意的是,Python 中这些数值类型都是不可改变的,也 ...
- 哪个是python程序中与缩进有关的正确说法_以下关于Python语言中“缩进”说法正确的是: (5.0分)_学小易找答案...
[判断题]值班时不可以吃东西.玩手机和闲聊 [其它]若一个三位数每一位数字的3次幂之和都等于它本身,则该三位数被称为水仙花数.例如153是水仙花数,各位数字的立方和为 .编程求出所有水仙花数. [其它 ...
- python global函数_如何使用python语言中的global关键字获取函数值
在python语言中,如果在函数外层定义了一个全局变量a,函数内部又有一个同名的局部变量,想要这个全局变量的值改成为局部变量的值,可以使用global.下面利用一个实例说明如何实现这个场景,操作如下: ...
最新文章
- rtp协议详解/rtcp协议详解
- python爬虫软件-从零开始写Python爬虫,四大工具你值得拥有!
- 31. 提取text.txt和text2.txt的文件内容,进行文本等号以后求和
- The LMAX disruptor Architecture--转载
- php符号教程,PHP教程:网站开发编程中的特殊符号处理_php
- php.ini 中文详解
- 【Qt串口调试助手】1.5 - 发送/接收字节数量统计
- 算法不会,尚能饭否之折半查找(Binary search)
- html div findchild,javascript – JQuery查找父div子标签
- 慕课翁凯习题集答案01厘米转换为英尺,英寸问题
- 咦,我发现了微信的一个秘密
- property 的详细使用方法
- 腾讯云如何设置二级域名?
- iOS转向Flutter学习日记
- Rank Scores(分数排序)
- ai修复照片软件是哪个软件_AI照片修复免费版-AI照片修复软件下载v1.1.0安卓版-西西软件下载...
- vatic标注工具安装步骤(非docker安装)以及错误解决办法
- 寒武纪面试——深度学习工程师
- 阿里云短信一条价格包含验证码短信/短信通知/推广短信
- 酷体网--可以顶(dig)的运动空间