Cet article vous aidera à comprendre les types numériques des types de données Python.

Libérer: 2023-07-25 14:02:33
avant
1679 Les gens l'ont consulté

1. Type numérique

Le type numérique est utilisé pour stocker des valeurs numériques au sens mathématique.

Les types numériques sont des types immuables. Le type dit immuable signifie qu’une fois que la valeur du type est différente, il s’agit d’un tout nouvel objet. Les nombres 1 et 2 représentent respectivement deux objets différents. La réaffectation d'une variable à un type numérique créera un nouvel objet numérique.


La relation entre les variables Python et les types de données.

Une variable est simplement une référence à un objet ou à un nom de code, un nom, un appel, etc. La variable elle-même n'a aucune notion de type de données. Semblable à 1, [2, 3, 4], seuls les objets tels que "haha" ont la notion de type de données.

Par exemple :

a = 1 # 创建数字对象1。


a = 2 # 创建数字对象2,并将2赋值给变量a,a不再指向数字对象1
Copier après la connexion

Ici, ce qui a changé, c'est le pointeur de la variable a, et non de l'objet numérique 1 vers l'objet numérique 2. Les débutants peuvent être confus, mais ce n’est pas grave, on essaie de le comprendre. <br/>

<br/>

2. Python prend en charge trois types de nombres différents (entiers, nombres à virgule flottante et nombres complexes)

1. Integer (Int)

est généralement appelé un entier et est un positif ou un négatif. entier , sans point décimal. Le type entier de Python3 peut être utilisé comme type Long (type entier plus long), donc Python3 n'a pas le type Long de Python2.

Par exemple : 1, 100, -8080, 0, etc.

Lors de la représentation des nombres, nous utilisons parfois également l'octal ou l'hexadécimal :

L'hexadécimal est représenté par le préfixe 0x et 0-9, a-f, par exemple : 0xff00, 0xa5b4c3d2.

Octal est représenté par le préfixe 0o et 0-7, par exemple 0o12.

La longueur entière de Python est de 32 bits et l'espace mémoire est généralement alloué en continu.

什么是空间地址?

空间地址(address space)表示任何一个计算机实体所占用的内存大小。比如外设、文件、服务器或者一个网络计算机。地址空间包括物理空间以及虚拟空间。

例 :

print(id(-2))


print(id(-1))


print(id(0))


print(id(1))


print(id(2))
Copier après la connexion

Cet article vous aidera à comprendre les types numériques des types de données Python.

从上面的空间地址看,地址之间正好差32。为什么会这样?

因为Python在初始化环境的时候就在内存里自动划分了一块空间,专门用于整数对象的存取。当然,这块空间也不是无限大小的,能保存的整数是有限的,所以你会看到id(0)和id(10000)之间的地址差别很大。

>>> id(0)
1456976928
>>> id(10000)
45818192
Copier après la connexion

Cet article vous aidera à comprendre les types numériques des types de données Python.

小整数对象池:<br/>

Python初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成!

这是一个包含262个指向整数对象的指针数组,范围是-5到256。也就是说比如整数10,即使我们在程序里没有创建它,其实在Python后台已经悄悄为我们创建了。

验证一下小整数对象池的存在

在程序运行时,包括Python后台自己的运行环境中,会频繁使用这一范围内的整数,如果每需要一个,你就创建一个,那么无疑会增加很多开销。创建一个一直存在,永不销毁,随用随拿的小整数对象池,无疑是个比较实惠的做法。

print(id(-6))
print(id(-5))
print(id(-4))
print(id(255))
print(id(256))
print(id(257))
Copier après la connexion

Cet article vous aidera à comprendre les types numériques des types de données Python.<br/>

从id(-6)和id(257)的地址,我们能看出小整数对象池的范围,正好是-5到256。<br/>

除了小整数对象池,Python还有整数缓冲区的概念,也就是刚被删除的整数,不会被真正立刻删除回收,而是在后台缓冲一段时间,等待下一次的可能调用。

>>> a = 1000000>>> id(a)45818160>>> del a       # 删除变量a>>> b = 1000000>>> id(b)45818160
Copier après la connexion

给变量a赋值了整数1000000,看了一下它的内存地址。然后我把a删了,又创建个新变量b,依然赋值为1000000,再次看下b的内存地址,和以前a存在的是一样的。<br/>

del是Python的删除关键字,可以删除变量、函数、类等等。

这一段内容,可能感觉没什么大用,但它对于理解Python的运行机制有很大帮助。

2. Nombres à virgule flottante (float)

Les nombres à virgule flottante sont des décimaux, tels que 1,23, 3,14, -9,01, etc. Mais pour les nombres à virgule flottante très grands ou très petits, ils sont généralement exprimés en notation scientifique, en remplaçant 10 par e, 1,23x10^9 vaut 1,23e9, ou 12,3e8, 0,000012 peut s'écrire 1,2e-5, et ainsi de suite.

3. Nombres complexes ((complexe))

Un nombre complexe est constitué d'une partie réelle et d'une partie imaginaire. Il peut être représenté par a + bj, ou complexe(a,b). a et la partie imaginaire b du nombre complexe sont tous deux de type virgule flottante. Concernant les nombres complexes, il est généralement difficile de les rencontrer sans effectuer de calculs scientifiques ou d'autres besoins particuliers.

Conversion de type de nombre :

Parfois, nous devons convertir le type de nombres. Python nous fournit des fonctions de conversion de types de données intégrées pratiques.

int(x) : Convertissez x en un entier. Si x est un nombre à virgule flottante, la partie décimale est tronquée.

float(x) : Convertissez x en un nombre à virgule flottante.

complexe(x) : convertissez x en un nombre complexe, la partie réelle étant x et la partie imaginaire étant 0.

complex(x, y):将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。

转换过程中如果出现无法转换的对象,则会抛出异常,比如int("haha"),你说我把字符串“haha”转换为哪个整数才对?

a = 10.53b = 23print(int(a))
print(float(a))
print(complex(a))
print(complex(a, b))
Copier après la connexion

Cet article vous aidera à comprendre les types numériques des types de données Python.

<br/>

三、math库(数学计算)

科学计算需要导入math这个库,它包含了绝大多数我们可能需要的科学计算函数,一般常用的函数主要包括abs()、exp()、fabs()、max()、min()等,这里就不再赘述了,感兴趣的小伙伴可以自行百度下。

下面是两个常用数学常量:

Constant Description
piMa thématiques Constante pi (pi, généralement exprimé par π)
eConstante mathématique e, e est la constante naturelle (constante naturelle).

下面是一些应用展示,注意最后的角度调用方式:

import mathprint(math.log(2))
print(math.cos(30))
print(math.cos(60))print(math.sin(30))
print(math.sin(math.degrees(30)))
print(math.sin(math.radians(30)))
Copier après la connexion
<br/>
Copier après la connexion

Cet article vous aidera à comprendre les types numériques des types de données Python.

四、总结

    本文详细的讲解了Python基础 ( 数字类型 )。介绍了有关Python 支持三种不同的数字类型。以及在实际操作中会遇到的问题,提供了解决方案。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:Go语言进阶学习
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!