Python的内置数据类型中的数字

目录
  • Python的内置数据类型中的数字
    • 1、变量
    • 2、数据类型总览
    • 3、Python是弱类型的语言
    • 4、各数据类型的详细介绍
      • 4.1 整数(int)
      • 4.2 浮点数/小数(float)
    • 5、复数(complex)
    • 6、布尔类型(bool)

Python的内置数据类型中的数字

1、变量

说数据类型之前,我们要先思考一下下面几个问题:

  • 数据是怎么存的呢?
  • 数据类型有啥作用呢?
  • 各种数据类型有啥区别呢?

要想回答这些问题,首先还是要先了解一下变量的概念。那么何为变量呢?
变量Variable)可以看成是一个存放数据的盒子,每个变量都有一个指定的名字,通过变量名就可以找到变量中存放的数据。从底层的逻辑来看,变量就是在电脑内存中开辟一个区域,然后被存放的数据放在该区域中。
与变量相对应的是常量(Constant),他们都是用来存放数据的,不同的是常量一旦保存数据之后就不能修改了,而变量保存的数据可以被多次修改。

编程语言中,将数据放入变量的过程叫做赋值(Assignment),Python中使用等号=作为赋值运算符,变量是标识符的一种,所以变量的命名也是需要遵守Python标识符的命名规范。

name=value

这里的name就是变量名,而value就是要到变量中的数据。一个变量只能容纳一个值,当一个变量被赋值之后,再次赋值的话就会覆盖掉原来的值。

举个栗子:

a=100

就是将数字100赋值给变量a。
解释了变量的概念之后,就解决了第一问题,那就是数据是通过变量存在内存中的,当然也可以将数据持久化到硬盘中。

2、数据类型总览

理清楚变量的概念之后,接下来总体介绍一下Python中各种内置的数据类型,如下图思维导图显示的,数据类型有很多,本文将主要介绍属于数字的几个数据类型。其余的数据类型在后续的文章中会介绍到。

3、

3、Python是弱类型的语言

不同于其他强类型的编程语言(比如Java,C语言等),Python是弱类型的语言,其主要体现在

定义变量的时候不需要强制指定变量的数据类型。变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义一个新变量。
变量的数据类型可以随时改变,比如,同一个变量可以一会被赋值为整数,一会被赋值为字符串。
依然是举栗说明:比如定义一个变量a,并将100赋值给它,Java中的写法是

int a=100

Python中的写法是:

a=100

可以看出Java中必须声明变量a的数据类型int,声明之后就只能向变量a中赋值整数,而不能赋值字符串等其他类型的数据。而Python则没有这些限制。
弱数据类型并不等于没有数据类型,这是在书写的时候不用刻意声明数据类型,但是在编程语言的内部还是有数据类型的,可以通过type() 方法进行查看其数据类型。

>>> type(100)
<class 'int'>
>>> type(100.1)
<class 'float'>
>>> type(True)
<class 'bool'>
>>> type(2+10j)
<class 'complex'>

4、各数据类型的详细介绍

4.1 整数(int)

Python3中的整数是不分类型,也就是说没有长整数类型(Long)或者短整数类型(short)之分,它的取值范围是是无限的,即不管多大或者多小的数字,Python都能轻松的应对。如下就是两个极大或者极小的整数。

>>> 100000-0000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000
>>> print(-1000000000000000000000000000000000000000000000)
-1000000000000000000000000000000000000000000000

可以看出再大或者再小的数字都不会出现溢出的情况,这说明了Python对整数的处理能力非常强。

4.1.1 整数的不同进制

Python中可以用多种进制的来表示整数。

(1)十进制形式
我们平时常见的整数就是十进制形式,它由 0~9 共十个数字排列组合而成。
注意,使用十进制形式的整数不能以 0 作为开头,除非这个数值本身就是 0。
(2)二进制形式
由 0 和 1 两个数字组成,书写时以0b或0B开头。例如,1001对应十进制数是 9。
(3)八进制形式
八进制整数由 0~7 共八个数字组成,以0o或0O开头。注意,第一个符号是数字 0,第二个符号是大写或小写的字母 O。
(4)十六进制形式
由 0~9 十个数字以及 A~F(或 a~f)六个字母组成,书写时以0x或0X开头。

# 二进制
a=0b1001
print('a=',a)
# 八进制
b=0o207
print('b=',b)
# 十六进制
c=0x45
print('c=',c)

运行结果是:

a= 9
b= 135
c= 69

Python 3.x允许使用下划线_作为数字(包括整数和小数)的分隔符,通常每隔三个数字添加一个下划线,比如:click = 1_301_547

4.2 浮点数/小数(float)

在编程语言中,小数通常以浮点数的形式存储,浮点数和定点数是相对的;小数在存储过程中如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数。

4.2.1 小数的书写形式

Python中的小数有两种书写形式:

(1)十进制形式
这就是我们经常看到的小数形式,比如101.1;234.5;0.23

(2)指数形式
Python小数点指数形式的写法为:aEn或aen
a为尾数部分,是一个十进制,n为指数部分,是一个十进制,E或者e是固定的字符,用于分割尾数部分和指数部分,真的表达式是 a×10n。
举个栗子:
2.3E5=2.3x10的5次方

依然还举个栗子:

x=10.01
print('x=',x)
y=-0.031
print('y=',y)
z=2.3E10
print('z=',z)
w=-0.00000001
print('w=',w)

运行结果是:

x= 10.01
y= -0.031
z= 23000000000.0
w= -1e-08

5、复数(complex)

复数(complex)是由实部(real)和虚部(imag)构成,在Python中,复数的虚部以j或者J作为后缀,具体格式是:

a+bj

其中a表示实部,b表示虚部

c1=100+2j
print("c1的值是:",c1)
c2=200+3J
print('C2的值是:',c2)

运行结果是:

c1的值是 (100+2j)
C2的值是 (200+3j)

6、布尔类型(bool)

布尔类型用来表示真(对)或假(错),比如常见的3>2 比较算式,这个是正确的,Python中使用True来代表;再比如2>3 比较算式,这个是错误的,用False来代表。

print(3>2)
print(2>3)
print('True==1的结果是:',True==1)
print('False==0的结果是:',False==0)

运行结果是:

True
False
True==1的结果是: True
False==0的结果是: True

从上述代码可以看出,bool类型的True值对应整数值1,而False值对应整数值0。

到此这篇关于Python的内置数据类型中的数字的文章就介绍到这了,更多相关Python内置数据类型数字内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python计算数字或者数组的阶乘的实现

    今天写毕业设计的时候遇到了一个级数展开式,里面包含着一个求一个数组的阶乘运算,这里特来记录一下. # -*- coding:utf-8 -*- """ author: 15025 time: 2021/7/18 17:58 software: PyCharm Description: calculate factorial of a given number """ class PythonStudy: @staticmethod def fac

  • Python数字/字符串补零操作实例代码

    有时候在使用 Python 的时候,想要对一个数字或者字符串进行补零操作,即把「1」变为一个八位数的「00000001」,这个时候可以使用一下方法来进行补零. 字符串补零: 可以使用 zfill() 函数来给字符串补零: >>> str = "123" >>> print(str.zfill(8)) 00000123 还能把整数转化成字符来使用 zfill() 补零: >>> num = 123 >>> print

  • Python中内置数据类型list,tuple,dict,set的区别和用法

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然

  • 使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能

    目录 1. 效果图 2. 原理 2.1 OCR-A字体 2.2 检测过程步骤 2.3 优化 3. 源代码 这篇博客将介绍如何通过OpenCV和Python使用模板匹配执行光学字符识别(OCR).具体来说,将使用Python+OpenCV实现模板匹配算法,以自动识别卡的类型和以及16位卡号数字. 在比较数字时,模板匹配是一种非常快速的方法. 为此将图像处理管道分为4个步骤: 通过各种图像处理技术检测信用卡上四组四个数字,包括形态学操作.阈值和轮廓提取. 从四个分组中提取每个单独的数字,得到16个需

  • Python内置数据类型list各方法的性能测试过程解析

    这篇文章主要介绍了Python内置数据类型list各方法的性能测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 测试环境 本文所涉及的代码均在MacOS系统与CentOS7下测试,使用的Python版本为3.6.8. 测试模块 测试用的模块是Python内置的timeit模块: timeit模块可以用来测试一小段Python代码的执行速度. Timer类 class timeit.Timer(stmt='pass', setup='p

  • python内置数据类型之列表操作

    数据类型是一种值的集合以及定义在这种值上的一组操作.一切语言的基础都是数据结构,所以打好基础对于后面的学习会有百利而无一害的作用. python内置的常用数据类型有:数字.字符串.Bytes.列表.元组.字典.集合.布尔等 1.什么是列表 lst[#] 通过下标访问,从0开始. ps:如果#超过下标的范围时候会出现IndexError的错误. 如果#为负号,则索引从右边开始,#无论为正负均有范围,超过范围会报错. lst = list(range(0,9)) #生产列表 l1 = lst[3]

  • 怎么用Python识别手势数字

    前言 谷歌出了一个开源的.跨平台的.可定制化的机器学习解决方案工具包,给在线流媒体(当然也可以用于普通的视频.图像等)提供了机器学习解决方案.感兴趣的同学可以打开这个网址了解详情:mediapipe.dev/ 它提供了手势.人体姿势.人脸.物品等识别和追踪功能,并提供了C++.Python.JavaScript等编程语言的工具包以及iOS.Android平台的解决方案,今天我们就来看一下如何使用MediaPipe提供的手势识别来写一个Python代码识别手势中的数字:0-5 准备工作 电脑需要安

  • python基础教程之基本内置数据类型介绍

    Python基本内置数据类型有哪些 一些基本数据类型,比如:整型(数字).字符串.元组.列表.字典和布尔类型.随着学习进度的加深,大家还会接触到更多更有趣的数据类型,python初学者入门时先了解这几种类型就可以了. 基本内置数据类型对应符号 1)整型--int--数字python有5种数字类型,最常见的就是整型int.例如:1234.-12342)布尔型--bool--用符号==表示布尔型是一种比较特殊的python数字类型,它只有True和False两种值,它主要用来比较和判断,所得结果叫做

  • Python内置数据类型详解

    通常来说Python在编程语言中的定位为脚本语言--scripting language 高阶动态编程语言. Python是以数据为主,变量的值改变是指变量去指到一个地址. 即:Id(变量)->展示变量的地址. 因此一个具体的值,会有不同的变量名. Python的数据类型: 数字.字符串.列表.元组.字典 数字和字符串其实是很基本的数据类型,在Python中和其他语言相差不是很大的,在这里就不细讲了. Dictionary介绍: Dictionary是Python的内置数据类型之一,它定义了键和

  • 使用python svm实现直接可用的手写数字识别

    目录 python svm实现手写数字识别--直接可用 1.训练 1.1.训练数据集下载--已转化成csv文件 1.2 .训练源码 2.预测单张图片 2.1.待预测图像 2.2.预测源码 2.3.预测结果 python svm实现手写数字识别--直接可用 最近在做个围棋识别的项目,需要识别下面的数字,如下图: 我发现现在网上很多代码是良莠不齐,-真是一言难尽,于是记录一下,能够运行成功并识别成功的一个源码. 1.训练 1.1.训练数据集下载--已转化成csv文件 下载地址 1.2 .训练源码 t

  • python数字转对应中文的方法总结

    本文操作环境: windows7系统,DELL G3电脑,python3.5版 python实现将阿拉伯数字转换成中文 第一种转换方式: 1 --> 一 12 --> 一二 def num_to_char(num): """数字转中文""" num=str(num) new_str="" num_dict={"0":u"零","1":u"一&qu

随机推荐