Heim  >  Artikel  >  Backend-Entwicklung  >  Dieser Artikel hilft Ihnen, die numerischen Typen von Python-Datentypen zu verstehen.

Dieser Artikel hilft Ihnen, die numerischen Typen von Python-Datentypen zu verstehen.

Go语言进阶学习
Go语言进阶学习nach vorne
2023-07-25 14:02:331669Durchsuche

1. Numerischer Typ

Der numerische Typ wird zum Speichern numerischer Werte im mathematischen Sinne verwendet.

Zahlentypen sind unveränderliche Typen. Der sogenannte unveränderliche Typ bedeutet, dass es sich um ein brandneues Objekt handelt, sobald der Wert des Typs unterschiedlich ist. Die Zahlen 1 und 2 stellen jeweils zwei verschiedene Objekte dar. Durch die Neuzuweisung einer Variablen zu einem numerischen Typ wird ein neues numerisches Objekt erstellt.


Die Beziehung zwischen Python-Variablen und Datentypen.

Eine Variable ist lediglich eine Referenz auf ein Objekt oder einen Codenamen, Namen, Aufruf usw. Die Variable selbst hat kein Konzept für einen Datentyp. Ähnlich wie bei 1, [2, 3, 4] haben nur Objekte wie „haha“ das Konzept eines Datentyps.

Zum Beispiel:

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


a = 2 # 创建数字对象2,并将2赋值给变量a,a不再指向数字对象1

Hier hat sich der Zeiger der Variablen a geändert, nicht das digitale Objekt 1 auf das digitale Objekt 2. Anfänger mögen verwirrt sein, aber das macht nichts, wir versuchen es zu verstehen.

2. Python unterstützt drei verschiedene Zahlentypen (Ganzzahlen, Gleitkommazahlen und komplexe Zahlen) Ganzzahl, ohne Dezimalpunkt. Der Integer-Typ von Python3 kann als Long-Typ (längerer Integer-Typ) verwendet werden, sodass Python3 nicht über den Long-Typ von Python2 verfügt.


Zum Beispiel: 1, 100, -8080, 0 usw.

Bei der Darstellung von Zahlen verwenden wir manchmal auch Oktal oder Hexadezimal:

Hexadezimal wird durch das Präfix 0x und 0-9, a-f dargestellt, zum Beispiel: 0xff00, 0xa5b4c3d2.

Oktal wird durch das Präfix 0o und 0-7 dargestellt, zum Beispiel 0o12.

Pythons Ganzzahllänge beträgt 32 Bit und der Speicherplatz wird normalerweise kontinuierlich zugewiesen.

什么是空间地址?

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

例 :

print(id(-2))


print(id(-1))


print(id(0))


print(id(1))


print(id(2))

Dieser Artikel hilft Ihnen, die numerischen Typen von Python-Datentypen zu verstehen.

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

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

>>> id(0)
1456976928
>>> id(10000)
45818192

Dieser Artikel hilft Ihnen, die numerischen Typen von Python-Datentypen zu verstehen.

小整数对象池:

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))

Dieser Artikel hilft Ihnen, die numerischen Typen von Python-Datentypen zu verstehen.

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

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

>>> a = 1000000>>> id(a)45818160>>> del a       # 删除变量a>>> b = 1000000>>> id(b)45818160

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

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

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

2. Gleitkommazahlen (Float)

Gleitkommazahlen sind Dezimalzahlen, wie 1,23, 3,14, -9,01 usw. Aber für sehr große oder sehr kleine Gleitkommazahlen werden sie im Allgemeinen in wissenschaftlicher Notation ausgedrückt, indem man 10 durch e ersetzt, 1,23x10^9 ist 1,23e9 oder 12,3e8, 0,000012 kann als 1,2e-5 usw. geschrieben werden.

3. Komplexe Zahlen ((komplex))

Eine komplexe Zahl besteht aus einem Realteil und einem Imaginärteil. Sie kann durch a + bj oder komplex(a,b) dargestellt werden a und der Imaginärteil b der komplexen Zahl sind beide vom Typ Gleitkomma. Bei komplexen Zahlen ist es normalerweise schwierig, ihnen ohne wissenschaftliche Berechnungen oder andere besondere Anforderungen zu begegnen.

Zahlentypkonvertierung:

Manchmal müssen wir den Zahlentyp konvertieren. Python bietet uns praktische integrierte Funktionen zur Datentypkonvertierung.

int(x): Konvertieren Sie x in eine ganze Zahl. Wenn x eine Gleitkommazahl ist, wird der Dezimalteil abgeschnitten.

float(x): Konvertieren Sie x in eine Gleitkommazahl.

complex(x): Wandeln Sie x in eine komplexe Zahl um, wobei der Realteil x und der Imaginärteil 0 ist.

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))

Dieser Artikel hilft Ihnen, die numerischen Typen von Python-Datentypen zu verstehen.


三、math库(数学计算)

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

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

Konstant Beschreibung
pi Mathematische Konstante pi (pi, allgemein ausgedrückt als π)
e Mathematische Konstante e, e ist die Naturkonstante (Naturkonstante).

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

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)))
<br/>

Dieser Artikel hilft Ihnen, die numerischen Typen von Python-Datentypen zu verstehen.

四、总结

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

Das obige ist der detaillierte Inhalt vonDieser Artikel hilft Ihnen, die numerischen Typen von Python-Datentypen zu verstehen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:Go语言进阶学习. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen