实际开发中,我们经常需要使用数字记录游戏中用户的得分、游戏中角色的生命值、伤害值等信息,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×102)、5.12E2(也是 5.12 ×102)。

必须指出的是,只有浮点型数值才可以使用科学计数形式表示。例如 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语言中整型对应的英文是什么-12.Python数值类型(整形、浮点型和复数)及其用法...相关推荐

  1. python语言中整型对应的英文_Python基本数据类型详细介绍(转)

    1.空(None)表示该值是一个空对象,空值是Python里一个特殊的值,用None表示.None不能理解为0,因为0是有意义的,而None是一个特殊的空值. 2.布尔类型(Boolean) 在 Py ...

  2. python语言中整型对应的英文名_python实现给定电影英文名,在猫眼上爬到中文名和票房...

    &[root@xxn maoyan]# cat cat.py #!/usr/bin/env python #coding:utf-8 import requests from bs4 impo ...

  3. c语言整形符号位_C语言中整型无符号二进制数的表示问题

    龙源期刊网 http://www.qikan.com.cn C 语言中整型无符号二进制数的表示问题 作者:马红旭 来源:<电子技术与软件工程> 2015 年第 20 期 摘 要 文章解决的 ...

  4. 属于python语言中合法的二进制整数是_以下选项属于 Python 整数类型的是( )

    [单选题]3*1**3 表达式输出结果为________ [多选题]以下的布尔代数运算正确的是( ) [单选题]下列________不是Python的数据类型. [单选题]下列不是Python语言关键 ...

  5. C语言中整型浮点型在计算机中的存储

    第一次写博客,遣词造句有点菜,算是一次简单梳理,慢慢学习人家的博客风格,随着学习的深入再做修改. 本次学习的是C语言在VS下的编译调试,对于初学者两说,首先说一下如何监控变量,以及监控变量在内存中的存 ...

  6. C语言中整型在计算机中的存储

    一 . 整型的表示 1.字面值后面加上L(l)表示long长整型 2.字面值后面加上U(u)表示usigned整型值 3.十进制123  ... 4.八进制,以0开头,如0123,0754  ... ...

  7. 下列关于python语言中缩进的说法正确的是_关于Python程序中与“缩进”有关的说法中,以下选项中正确的是 _________ 。_学小易找答案...

    [单选题]表达式 'x' or 'y' or [] 的返回值为______. [判断题]( )中国与金砖国家贸易互补性强. [判断题]( ).中国是世界上最大的纺织品生产国和出口国,约占世界纺织品贸易 ...

  8. 在python语言中下列是二进制整数_Python从菜鸟到高手(5):数字

    Python从菜鸟到高手(5):数字 发布时间:2020-07-12 02:17:50 来源:51CTO 阅读:1005 作者:androidguy 1 基础知识 Python语言与其他编程语言一样, ...

  9. Python语言学习之图表可视化:python语言中可视化工具包的简介、安装、使用方法、经典案例之详细攻略

    Python语言学习之图表可视化:python语言中可视化工具包的简介.安装.使用方法.经典案例之详细攻略 目录 python语言中可视化工具包的简介 python语言中可视化工具包的安装 pytho ...

最新文章

  1. java socket 丢字节_Java:socket消息丢失了
  2. ERP沙盘模拟实验报告
  3. count是java关键字吗_countinue关键字和break关键字与java基本格式
  4. tcp 裸流 发送 html,ffmpeg 命令学习
  5. 砍掉3721 reg
  6. 【论文翻译】Playing Atari with Deep Reinforcement Learning
  7. php and mysql登录注册页面
  8. IT职场求生法则(3)- 部门经理及副总适用法则
  9. 什么是鸟撞?该如何设计防鸟撞的建筑?#可持续设计
  10. 我的思文斋:积水成渊则蛟龙生焉
  11. UltraEdit mac版
  12. 大数据系统管理必备技能
  13. 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
  14. 小白的模拟电路初步学习20日打卡(2)
  15. 标准差详解-一文搞懂标准差的含义
  16. 新手引导页面html,网站新手引导tips提示功能开发经验分享
  17. JAVA统一社会信用代码正则,用户登录名正则
  18. matlab水果图片,基于MATLAB的水果识别的数字图像处理教程.docx
  19. WEB编程开发常用的代码
  20. 学习笔记:《数字媒体技术概论》-6/10 游戏产业及游戏开发-中国大学慕课公开课

热门文章

  1. 基于51单片机电子秤(程序+仿真+原理图)
  2. CSS实现文字扫光特效
  3. php动态字体,利用纯CSS实现动态的文字效果实例
  4. DataWhale9月组队NLP情感分析
  5. C语言提高代码效率的几种方法
  6. 【毕业设计】电影评论情感分析 - GRU 深度学习
  7. 传奇私服商店物品混乱,什么都卖,问题的解决
  8. 微信小程序端富文本输入
  9. 【2006-5】【井底蜗牛】
  10. CentOS网络设置