1 python 整型概述

python 整数数据类型,简称整型,在 python 中用 int表示。

整数指的是没有小数部分的数字,在 python 中的整数包括正整数、0(数字零) 和负整数。

在 python 中整型是用来存储整数的,或者说是用来描述整数的。

在 python 中存储整数的数据类型只有一种,那就是整数数据类型(int)。

在 python 中整型的取值范围是无限的(整数具有无限的精度)。

2 不同进制表示整数

2.1 十进制(decimalism)形式

2.1.1 十进制形式概述

十进制形式,在我们生活中经常会用到的一种数字表示形式。

由 0~9 共十个数字排列组合而成。

2.1.2 十进制表示整数注意事项

使用十进制形式的整数时,不能以 0 (数字零)作为开头,除非这个数字本身就是 0(数字零)。如下代码所示:

例一,

num = 033 # 十进制整数不能以 0 开头

print(num)

运行结果:

num = 033

^

syntaxerror: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

如果以数字 0 作为十进制整数的开头,就会报 syntaxerror 异常,错误提示信息为: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers ,翻译过来:不允许在十进制整数字面值中前置零;对八进制整数使用0o前缀。

例二,

num1 = 0

num2 = 00

num3 = 000

print(num1)

print(num2)

print(num3)

运行结果:

0

0

0

2.2 二进制(binary)形式

二进制形式,由 0 和 1 两个数字组成,书写时以0b或0b开头(注意,第一个符号是数字 0,第二个符号是小写字母 b 或大写字母 b)。如下代码所示:

# 十进制数 5 对应的二进制为 0b101 或 0b101

print(0b101)

print(0b101)

运行结果:

5

5

2.3 八进制(octonary)形式

八进制形式,由 0~7 共八个数字组成,以0o或0o开头(注意,第一个符号是数字 0,第二个符号是小写字母 o 或大写字母 o)。如下代码所示:

# 十进制数 18 对应的八进制为 0o22 或 0o22

print(0o22)

print(0o22)

运行结果:

18

18

2.4 十六进制(hexadecimal)形式

十六进制形式,由 0~9 十个数字以及 a~f(或 a~f)六个字母组成,书写时以0x或0x开头(注意,第一个符号是数字 0,第二个符号是小写字母 x 或大写字母 x)。如下代码所示:

# 十进制数 12 对应十六进制为 0xc 或 0xc

print(0xc)

print(0xc)

运行结果:

12

12

2.5 各进制对应的函数及其各进制之间转换

二进制:bin()

八进制:oct()

十六进制:hex()

(1)十进制转换为其他进制

print('十进制数 23 转换为二进制数为:', bin(23))

print('十进制数 23 转换为八进制数为:', oct(23))

print('十进制数 23 转换为十六进制数为:', hex(23))

运行结果:

十进制数 23 转换为二进制数为: 0b10111

十进制数 23 转换为八进制数为: 0o27

十进制数 23 转换为十六进制数为: 0x17

(2)二进制转换为其他进制

print('二进制数 0b101 转换为十进制数为:', 0b101) # print() 函数输出整数默认为十进制

print('二进制数 0b101 转换为八进制数为:', oct(0b101))

print('二进制数 0b101 转换为十六进制数为:', hex(0b101))

运行结果:

二进制数 0b101 转换为十进制数为: 5

二进制数 0b101 转换为八进制数为: 0o5

二进制数 0b101 转换为十六进制数为: 0x5

(3)八进制转换为其他进制

print('八进制数 0o22 转换为十进制数为:', 0o22) # print() 函数输出整数默认为十进制

print('八进制数 0o22 转换为二进制数为:', bin(0o22))

print('八进制数 0o22 转换为十六进制数为:', hex(0o22))

运行结果:

八进制数 0o22 转换为十进制数为: 18

八进制数 0o22 转换为二进制数为: 0b10010

八进制数 0o22 转换为十六进制数为: 0x12

(4)十六进制转换为其他进制

print('十六进制数 0xc 转换为十进制数为:', 0xc) # print() 函数输出整数默认为十进制

print('十六进制数 0xc 转换为二进制数为:', bin(0xc)) # print() 函数输出整数默认为十进制

print('十六进制数 0xc 转换为八进制数为:', oct(0xc)) # print() 函数输出整数默认为十进制

运行结果:

十六进制数 0xc 转换为十进制数为: 12

十六进制数 0xc 转换为二进制数为: 0b1100

十六进制数 0xc 转换为八进制数为: 0o14

3 数字分隔符

数字分隔符,在 python 中使用下划线_作为数字的分隔符。

通常从右往左数每三个数字添加一个数字分隔符,而不会影响数字本身的值。

数字分隔符可以提高数字的可读性。

如下所示:

num = 45252465765747 # 我闭着眼胡乱敲出了一个数,哈哈

num1 = 45_252_465_765_747 # 给加上数字分隔符

print('num = ', num)

print('num1 = ', num1)

运行结果:

num = 45252465765747

num1 = 45252465765747

4 整数相关函数 int()

class int([x][,[base=]])

返回值:返回一个基于数字或字符串 x 构造的整数对象,或者在未给出参数时返回 0。如下例一所示。

x 参数: 为可选参数,可以是数字(整数或浮点数)或字符串(指的是整数字符串);如果是浮点数,它将向零舍入。如下例二所示。

base 参数: 也为可选参数,表示进制数(表示传入的 x 的进制数),默认为十进制。base=可有可无,写上是关键字参数,不写是位置参数。如下例三所示。

如果 x 为数字,则不能有 base 参数,作用是为传入的 x 取整。如下例四所示。

如果 x 为整数字符串,base 参数可有可无。

如果 x 不符合 base 规则(指的是传入的 x 的进制数跟 base 参数值不一致),则报错。如下例五所示。

实例如下代码所示:

例一,

obj = int() # 不传入参数,返回结果为 0

print(obj)

运行结果:

0

例二,

obj1 = int(12)

obj2 = int(12.7) # 传入浮点数,将向零舍入。

obj3 = int('12') # 传入整数字符串

print(obj1)

print(obj2)

print(obj3)

运行结果:

12

12

12

例三,

obj4 = int('12', base=10) # 可使用关键字参数传参 base=10

obj5 = int('12', 10) # 也可使用位置参数传参 10

print(obj4)

print(obj5)

运行结果:

12

12

例四,

obj6 = int(12, base=10) # 如果 x 参数为纯数字,不能有 base 参数

print(obj6)

运行结果:

typeerror: int() can't convert non-string with explicit base

例五,

obj7 = int("b", 8) # 大于等于 16 进制才会允许传入参为 a,b,c...

print(obj7)

运行结果:

valueerror: invalid literal for int() with base 8: 'b'

5 python 3.x 版本与python 2.x 版本中整型的区别

python 3.x 版本中只用 int 一种数据类型存储整数。

python 2.x 版本中多了long类型,使用 long 类型来存储较大的整数,用 int 类型存储较小的整数。

转自:https://www.cnblogs.com/manongajie/p/12738022.html

希望与广大网友互动??

点此进行留言吧!

在python中、整数的十进制不能以0开头_Python关于int整数数据类型在使用介绍相关推荐

  1. python中不同类型的数据不能相互运算_Python第三课——数据类型与运算(2)

    hello大家好,我是你们的小蒟蒻鸭,终于终于有时间写博客了(虽然刚开始期末复习),真的非常非常抱歉,拖更太厉害了.反正还有一个月不到小蒟蒻就要放暑假了!!!(激动.jpg),蒟蒻保证会一周两篇,绝不 ...

  2. python中的for语句可以在任意序列_python在循环内任意增加迭代器

    python在循环内任意增加迭代器 我可能会以错误的方式处理此问题,但我想知道如何在python中处理此问题. 首先一些C代码: int i; for(i=0;i<100;i++){ if(i ...

  3. python中,Microsoft Visual C++ 14.0 or greater is required问题解决方案

    今天在写一个小程序,安装依赖的时候发现这个问题,平时都是直接安装Visual Studio解决,但是这个安装太大了,所以解决看看怎么安装是最方便的,最容易解决的. 下面这个就是出现的问题: build ...

  4. python中datetime模块是以什么时间为基础_Python基础之datetime模块

    Outline 构建时间对象实例 date实例的构造 time实例的构造 datetime实例的构造 timedelta对象的构造 tzinfo介绍 时间转换 时间对象转字符串 字符串转时间对象 时间 ...

  5. python中内存管理机制一共分为多少层_python 内存管理机制

    内存管理机制 ​python中万物皆对象,python的存储问题是对象的存储问题,并且对于每个对象,python会分配一块内存空间去存储它 ​Python的内存管理机制:引入计数.垃圾回收.内存池机制 ...

  6. python中split的用法取第二个分片_python中split()函数的用法

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(li ...

  7. 在python中、处理的一切都是对象_Python 3+ 一切都是对象

    对于 Python 来说,一切都是对象 . 这句话很重要,当你对某个特性不了解时,回想下这句话也许就能想通 一个整数一个对象,一个浮点数也是一个对象,一个函数也是一个对象 >>> i ...

  8. python中迭代器和可迭代对象的区别_Python 可迭代对象迭代器生成器的区别

    生成器是一种特殊的迭代器,生成器自动实现了"迭代器协议"(即__iter__和next方法),不需要再手动实现两方法. 首先从字面意思来解释Iterable和Iterator的区别 ...

  9. python中编完类后到实例编写_Python 和 JavaScript 的区别是什么?

    原标题:Python 和 JavaScript 的区别是什么? JavaScript和Python这两种语言非常流行和强大,但它们在部分语法的使用上却有着一些不同,如果你恰好对这些区别对比感兴趣,那么 ...

最新文章

  1. CISP/CISA 每日一题 11
  2. NYOJ 6 喷水装置(一) 贪心算法 之 区间覆盖问题
  3. 2019-10-27 控制领域期刊介绍
  4. 单臂路由与三层交换技术简单介绍
  5. 谷歌控制面板中的NetWrok
  6. 从操作系统层面分析Java IO演进之路
  7. MySQL追加注释或者大量修改注释
  8. POJ-2262 Goldbach's Conjecture
  9. 从何润东代言团宝,看团购行业逐渐成熟
  10. gitlab + gitlab-runner 集成 CICD
  11. oracle数据库基础笔试题,Oracle数据库入门笔试试题及参考答案
  12. win10 Administrator账户被禁用怎么办?
  13. 什么叫UG编程?UG编程是干什么的?
  14. 中国六大最忙和六大最懒城市
  15. parse error, unexpected TOKBEGIN, expecting AFFECT or SEMICOLON
  16. mPEG2000-PHOS,磷酸盐修饰的单功能线性PEG,mPEG2000-Phosphate
  17. vue+elementUi在点js.js文件中使用Message消息提示、Notification、MessageBox、succes、import、from
  18. 【一起入门NLP】中科院自然语言处理作业四:RNN+Attention实现Seq2Seq中英文机器翻译(Pytorch)【代码+报告】
  19. 观点七、中国智业的第二生态
  20. 计量经济学之时间序列分析学习笔记(单位根检验、协整检验、单整阶数判断、ECM建模)——基于R(二)

热门文章

  1. Windows控制台常用指令
  2. oracle dg3种模式,DG有下面三种模式  逻辑standby和物理standby
  3. 干货——生产型企业的供应商管理系统模板
  4. 迷惑操作,Win10 上线了一款“摸鱼”App
  5. 德生PL-380音量失灵问题
  6. Linux搭建squid服务实现内网机器代理上网
  7. (maven报错)Failed to execute goal on project ...: Could not resolve dependencies for project ...
  8. 搭建自己的网站(入门到入狱)
  9. Java题-输入某年某月某日,判断这一天是这一年的第几天?
  10. 解决yarn错误error An unexpected error occurred: “https://registry.yarnpkg.com/hardhat: ETIMEDOUT“.