Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Artikel ini akan membantu anda memahami jenis berangka jenis data Python.

Artikel ini akan membantu anda memahami jenis berangka jenis data Python.

Go语言进阶学习
Go语言进阶学习ke hadapan
2023-07-25 14:02:331722semak imbas

1. Jenis angka

Jenis angka digunakan untuk menyimpan nilai berangka dalam erti kata matematik.

Jenis nombor adalah jenis yang tidak berubah. Jenis yang dipanggil tidak berubah bermakna apabila nilai jenis itu berbeza, ia adalah objek baharu. Nombor 1 dan 2 masing-masing mewakili dua objek berbeza Menetapkan semula pembolehubah kepada jenis angka akan mencipta objek berangka baharu.


Hubungan antara pembolehubah Python dan jenis data.

Pembolehubah hanyalah rujukan kepada objek atau nama kod, nama, panggilan, dll. Pembolehubah itu sendiri tidak mempunyai konsep jenis data. Sama seperti 1, [2, 3, 4], hanya objek seperti "haha" yang mempunyai konsep jenis data.

Contohnya:

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


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

Di sini, apa yang berubah ialah penunjuk pembolehubah a, bukan objek digital 1 kepada objek digital 2. Pemula mungkin keliru, tetapi tidak mengapa, kami cuba memahaminya.

. integer , tanpa titik perpuluhan. Jenis integer Python3 boleh digunakan sebagai jenis Long (jenis integer yang lebih panjang), jadi Python3 tidak mempunyai jenis Long Python2.


Contohnya: 1, 100, -8080, 0, dsb.

Apabila mewakili nombor, kadangkala kita juga menggunakan perlapanan atau perenambelasan:

Heksadesimal diwakili oleh awalan 0x dan 0-9, a-f, contohnya: 0xff00, 0xa25b4c3

Oktal diwakili oleh awalan 0o dan 0-7, contohnya 0o12.

Panjang integer Python ialah 32 bit, dan ruang memori biasanya diperuntukkan secara berterusan.

什么是空间地址?

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

例 :

print(id(-2))


print(id(-1))


print(id(0))


print(id(1))


print(id(2))

Artikel ini akan membantu anda memahami jenis berangka jenis data Python.

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

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

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

Artikel ini akan membantu anda memahami jenis berangka jenis data Python.

小整数对象池:

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

Artikel ini akan membantu anda memahami jenis berangka jenis data Python.

从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. Nombor titik terapung (terapung)

Nombor titik terapung ialah perpuluhan, seperti 1.23, 3.14, -9.01, dsb. Tetapi untuk nombor titik terapung yang sangat besar atau sangat kecil, ia biasanya dinyatakan dalam tatatanda saintifik, menggantikan 10 dengan e, 1.23x10^9 ialah 1.23e9, atau 12.3e8, 0.000012 boleh ditulis sebagai 1.2e-5, dan seterusnya.

3. Nombor kompleks ((kompleks))

Nombor kompleks terdiri daripada bahagian nyata dan bahagian khayalan Ia boleh diwakili oleh + bj, atau kompleks(a,b). a dan bahagian khayalan b nombor kompleks ialah kedua-duanya Merupakan jenis titik terapung. Mengenai nombor kompleks, biasanya sukar untuk menemuinya tanpa melakukan pengiraan saintifik atau keperluan khas lain.

Penukaran jenis nombor:

Kadangkala, kita perlu menukar jenis nombor. Python menyediakan kami dengan fungsi penukaran jenis data terbina dalam yang mudah.

int(x): Tukar x kepada integer. Jika x ialah nombor titik terapung, bahagian perpuluhan dipotong.

float(x): Tukar x kepada nombor titik terapung.

kompleks(x): Tukarkan x kepada nombor kompleks, dengan bahagian nyata ialah x dan bahagian khayalan ialah 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))

Artikel ini akan membantu anda memahami jenis berangka jenis data Python.


三、math库(数学计算)

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

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

Malar Penerangan
Malar pi Matematik (pi, umumnya dinyatakan sebagai π)
e Pemalar matematik e, e ialah pemalar semula jadi (pemalar semula jadi).
🎜

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

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

Artikel ini akan membantu anda memahami jenis berangka jenis data Python.

四、总结

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

Atas ialah kandungan terperinci Artikel ini akan membantu anda memahami jenis berangka jenis data Python.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Go语言进阶学习. Jika ada pelanggaran, sila hubungi admin@php.cn Padam