Python系列教程34

2021-10-12 21:09:48 字數 1588 閱讀 8409

宣告:在人工智慧技術教學期間,不少學生向我提一些python相關的問題,所以為了讓同學們掌握更多擴充套件知識更好的理解人工智慧技術,我讓助理負責分享這套python系列教程,希望能幫到大家!由於這套python教程不是要由所寫,所以不如我的人工智慧技術教學風趣幽默,學起來比較枯燥;但它的知識點還是講到位的了,也值得閱讀!

本篇文章我們來說一下數字。

如果你過去曾經編寫過程式或指令碼,上篇文章中表4-1中的一些物件型別看起來會比較眼熟。即使你沒有程式設計經驗,數字也是比較直接的。python的核心物件集合包括常規的型別:整數(沒有小數部分的數字)、浮點數(概括地講,就是後邊有小數部分的數字)以及更為少見的型別(有虛部的複數、固定精度的十進位制數、帶分子和分母的有理分數以及集合等)。

儘管提供了一些多樣的選擇,python的基本數字型別還是相當基本的。python中的數字支援一般的數**算。例如,加號(+)代表加法,星號(*)表示乘法,雙星號(**)表示乘方。

.>>> 123 + 222 # integer addition

.>>> 1.5 * 4 # floating-point multiplication

6.0.>>> 2 ** 100 # 2 to the power 100

注意這裡的最後乙個結果:當需要的時候,python 3.0的整數型別會自動提供額外的精度,以用於較大的數值。例如,你可以在python中計算2的1000000次冪。

.>>> len(str(2 ** 1000000)) # how many digits in a really big number?

一旦你開始接觸浮點數,很可能會遇到一些乍看上去有些奇怪的事情:

.>>> 3.1415 * 2 # repr: as code

6.2830000000000004

.>>> print(3.1415 * 2) # str: user-friendly

6.283

第乙個結果並不是bug;這是顯示的問題。這證明有兩種辦法列印物件:全精度(就像這裡的第乙個結果顯示的那樣)以及使用者友好的形式(就像第二個)。一般來說,第一種形式看做是物件的**形式repr,第二種是它的使用者友好形式str。當我們使用類時,這兩者的區別將會表現出來。所以,如果有些東西看起來比較奇怪,試試使用列印語句顯示它。

除了表示式外,和python一起分發的還有一些常用的數學模組,模組只不過是我們匯入以供使用的一些額外工具包。

.>>> import math

.>>> math.pi

3.1415926535897931

.>>> math.sqrt(85)

9.2195444572928871

random模組可以作為隨機數字的生成器和隨機選擇器。

.>>> import random

.>>> random.random()

0.59268735266273953

.>>> random.choice([1,2,3,4])

python還包括了一些較為少見的數字物件,例如複數、固定精度十進位制數、有理數、集合和布林值,第三方開源擴充套件領域甚至包含了更多(矩陣和向量)。

python系列教程 python系列教程

宣告 在人工智慧技術教學期間,不少學生向我提一些python相關的問題,所以為了讓同學們掌握更多擴充套件知識更好的理解人工智慧技術,我讓助理負責分享這套python系列教程,希望能幫到大家!由於這套python教程不是要由所寫,所以不如我的人工智慧技術教學風趣幽默,學起來比較枯燥 但它的知識點還是講...

python3 4教程 Python教程(四)

6 函式 一 前面寫的程式都是很小的,假設我們要編寫乙個很大的程式,並且要重複使用很多遍相同的 直觀的想法,自然就是把這些 裝到乙個 箱子 裡,給這個 箱子 編上號,等到用的時候,告訴電腦 箱子 裡面的就是所需要的 函式就可以實現這樣的功能。函式是python中最主要也是最重要的 組織和復用手段。假...

python系列教程3

python唯一的缺點就是,在目前現有的實現方式下,與c和c 這類編譯語言相比,python的執行速度還不夠快。教程後面將對實現方式的概念進行詳細闡述。簡而言之,目前python的標準實現方式是將源 的語句編譯 或者說是轉換 為位元組碼的形式,之後再將位元組碼解發布來。由於位元組碼是一種與平台無關的...