欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的Numeric包和Numarray包使用教程

 更新時(shí)間:2015年04月13日 16:04:33   投稿:goldensun  
這篇文章主要介紹了Python中的Numeric包和Numarray包使用教程,來自IBM官方網(wǎng)站上的技術(shù)文檔,需要的朋友可以參考下

要了解 Numerical Python 軟件包的第一件事情是,Numerical Python 不會(huì)讓您去做標(biāo)準(zhǔn) Python 不能完成的任何工作。它只是讓您 以快得多的速度去完成標(biāo)準(zhǔn) Python 能夠完成的相同任務(wù)。實(shí)際上不僅僅如此;許多數(shù)組操作用 Numeric 或者 Numarray 來表達(dá)比起用標(biāo)準(zhǔn) Python 數(shù)據(jù)類型和語(yǔ)法來表達(dá)要優(yōu)雅得多。不過,驚人的速度才是吸引用戶使用 Numerical Python 的主要原因。

其實(shí),Numerical Python 只是實(shí)現(xiàn)了一個(gè)新的數(shù)據(jù)類型:數(shù)組。與可以包含不同類型元素的列表、元組和詞典不同的是,Numarray 數(shù)組只能包含同一類型的數(shù)據(jù)。Numarray 數(shù)組的另一個(gè)優(yōu)點(diǎn)是,它可以是多維的 -- 但是數(shù)組的維度與列表的簡(jiǎn)單嵌套稍有不同。Numerical Python 借鑒了程序員的實(shí)踐經(jīng)驗(yàn)(尤其是那些有科學(xué)計(jì)算背景的程序員,他們抽象出了 APL、FORTRAN、MATLAB 和 S 等語(yǔ)言中數(shù)組的最佳功能),創(chuàng)建了可以靈活改變形狀和維度的數(shù)組。我們很快會(huì)回來繼續(xù)這一話題。

在 Numerical Python 中對(duì)數(shù)組的操作是 按元素進(jìn)行的。雖然二維數(shù)組與線性代數(shù)中的矩陣類似,但是對(duì)它們的操作 (比如乘) 與線性代數(shù)中的操作 (比如矩陣乘) 是完全不同的。

讓我們來看一個(gè)關(guān)于上述問題的的具體例子。在純 Python 中,您可以這樣創(chuàng)建一個(gè)“二維列表”:
清單 1. Python 的嵌套數(shù)組

>>> pyarr = [[1,2,3],
...     [4,5,6],
...     [7,8,9]]
>>> print pyarr
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> pyarr[1][1] = 0
>>> print pyarr
[[1, 2, 3], [4, 0, 6], [7, 8, 9]]

很好,但是您對(duì)這種結(jié)構(gòu)所能做的只是通過單獨(dú)的 (或者多維的) 索引來設(shè)置和檢索元素。與此相比,Numarray 數(shù)組要更靈活:
清單 2. Numerical Python 數(shù)組

>>> from numarray import *
>>> numarr = array(pyarr)
>>> print numarr
[[1 2 3]
 [4 0 6]
 [7 8 9]]

改變并不大,但是使用 Numarray 進(jìn)行的操作如何呢? 下面是一個(gè)例子:
清單 3. 元素操作

>>> numarr2 = numarr * 2
>>> print numarr2
[[ 2 4 6]
 [ 8 0 12]
 [14 16 18]]
>>> print numarr2 + numarr
[[ 3 6 9]
 [12 0 18]
 [21 24 27]]

改變數(shù)組的形狀:
清單 4. 改變形狀

>>> numarr2.shape = (9,)
>>> print numarr2
[ 2 4 6 8 0 12 14 16 18]

Numeric 與 Numarray 之間的區(qū)別

總體來看,新的 Numarray 軟件包與早期的 Numeric 是 API 兼容的。不過,開發(fā)者基于用戶經(jīng)驗(yàn)進(jìn)行了一些與 Numric 并不兼容的改進(jìn)。開發(fā)者沒有破壞任何依賴于 Numeric 的應(yīng)用程序,而是開創(chuàng)了一個(gè)叫做 Numarray 的新項(xiàng)目。在完成本文時(shí),Numarray 還缺少 Numeric 的一些功能,但是已計(jì)劃實(shí)現(xiàn)這些功能。

Numarray 所做的一些改進(jìn):

  •     以分層的類結(jié)構(gòu)來組織元素類型,以支持 isinstance() 檢驗(yàn)。Numeric 在指定數(shù)據(jù)類型時(shí)只使用字符類型編碼 (但是 Numarray 中的初始化軟件仍然接受老的字符編碼)。
  •     改變了類型強(qiáng)制規(guī)則,以保持?jǐn)?shù)組(更為常見)中的類型 ,而不是轉(zhuǎn)換為 Python 標(biāo)量的類型。
  •     出現(xiàn)了附加的數(shù)組屬性 (不再只有 getter 和 setter)。
  •     實(shí)現(xiàn)了更靈活的異常處理。

新用戶不必?fù)?dān)心這些變化,就這一點(diǎn)來說,最好一開始就使用 Numarray 而不是 Numeric。

計(jì)時(shí)的例子

讓我們來感受一下在 Numerical Python 中的操作相對(duì)于標(biāo)準(zhǔn) Python 的速度優(yōu)勢(shì)。作為一個(gè)“演示任務(wù)”,我們將創(chuàng)建一個(gè)數(shù)字序列,然后使它們加倍。首先是標(biāo)準(zhǔn) Python 方法的一些變體:
清單 5. 對(duì)純 Python 操作的計(jì)時(shí)

def timer(fun, n, comment=""):
  from time import clock
  start = clock()
  print comment, len(fun(n)), "elements",
  print "in %.2f seconds" % (clock()-start)
def double1(n): return map(lambda n: 2*n, xrange(n))
timer(double1, 5000000, "Running map() on xrange iterator:")
def double2(n): return [2*n for n in xrange(n)]
timer(double2, 5000000, "Running listcomp on xrange iter: ")
def double3(n):
  double = []
  for n in xrange(n):
    double.append(2*n)
  return double
timer(double3, 5000000, "Building new list from iterator: ")

我們可以看出 map() 方法、list comprehension 和傳統(tǒng)循環(huán)方法之間的速度差別。那么,需要同類元素類型的標(biāo)準(zhǔn) array 模塊呢?它可能會(huì)更快一些:
清單 6. 對(duì)標(biāo)準(zhǔn) array 模塊的計(jì)時(shí)

import array
def double4(n): return [2*n for n in array.array('i',range(n))]
timer(double4, 5000000, "Running listcomp on array.array: ")

最后我們來看 Numarray 的速度如何。作為額外對(duì)照,我們來看如果必須要將數(shù)組還原為一個(gè)標(biāo)準(zhǔn)的列表時(shí),它是否同樣具有優(yōu)勢(shì):
清單 7. 對(duì) Numarray 操作的計(jì)時(shí)

from numarray import *
def double5(n): return 2*arange(n)
timer(double5, 5000000, "Numarray scalar multiplication: ")
def double6(n): return (2*arange(n)).tolist()
timer(double6, 5000000, "Numarray mult, returning list:  ")

現(xiàn)在運(yùn)行它:
清單 8. 比較結(jié)果

$ python2.3 timing.py
Running map() on xrange iterator: 5000000 elements in 13.61 seconds
Running listcomp on xrange iter: 5000000 elements in 16.46 seconds
Building new list from iterator: 5000000 elements in 20.13 seconds
Running listcomp on array.array: 5000000 elements in 25.58 seconds
Numarray scalar multiplication:  5000000 elements in 0.61 seconds
Numarray mult, returning list:  5000000 elements in 3.70 seconds

處理列表的不同技術(shù)之間的速度差異不大,也許還是值得注意,因?yàn)檫@是嘗試標(biāo)準(zhǔn)的 array 模塊時(shí)的方法問題。但是 Numarray 一般用不到 1/20 的時(shí)間內(nèi)就可以完成操作。將數(shù)組還原為標(biāo)準(zhǔn)列表?yè)p失了很大的速度優(yōu)勢(shì)。

不應(yīng)通過這樣一個(gè)簡(jiǎn)單的比較就得出結(jié)論,但是這種加速可能是典型的。對(duì)大規(guī)??茖W(xué)計(jì)算來說,將計(jì)算的時(shí)間由幾個(gè)月下降到幾天或者從幾天下降到幾個(gè)小時(shí),是非常有價(jià)值的。

系統(tǒng)建模

Numerical Python 的典型用例是科學(xué)建模,或者可能是相關(guān)領(lǐng)域,比如圖形處理和旋轉(zhuǎn),或者信號(hào)處理。我將通過一個(gè)比較實(shí)際的問題來說明 Numarray 的許多功能。假設(shè)您有一個(gè)參量可變的三維物理空間。抽象地說,任何參數(shù)化空間,不論有多少維,Numarray 都適用。實(shí)際上很容易想像,比如一個(gè)房間,它的各個(gè)點(diǎn)的溫度是不同的。我在 New England 的家已經(jīng)到了冬天,因而這個(gè)問題似乎更有現(xiàn)實(shí)意義。

為簡(jiǎn)單起見,下面我給出的例子中使用的是較小的數(shù)組(雖然這可能是顯然的,但是還是有必要明確地指出來)。不過,即使是處理有上百萬個(gè)元素而不僅僅是幾十個(gè)元素的數(shù)組,Numarray 也還是很快;前者可能在真正的科學(xué)模型中更為常見。

首先,我們來創(chuàng)建一個(gè)“房間”。有很多方法可以完成這項(xiàng)任務(wù),但是最常用的還是使用可調(diào)用的 array() 方法。使用這個(gè)方法,我們可以生成具有多種初始化參數(shù) (包括來自任何 Python 序列的初始數(shù)據(jù)) 的 Numerical 數(shù)組。不過對(duì)于我們的房間來說,用 zeros() 函數(shù)就可以生成一個(gè)溫度均勻的寒冷房間:
清單 9. 初始化房間的溫度

>>> from numarray import *
>>> room = zeros((4,3,5),Float)
>>> print room
[[[ 0. 0. 0. 0. 0.]
 [ 0. 0. 0. 0. 0.]
 [ 0. 0. 0. 0. 0.]]
 [[ 0. 0. 0. 0. 0.]
 [ 0. 0. 0. 0. 0.]
 [ 0. 0. 0. 0. 0.]]
 [[ 0. 0. 0. 0. 0.]
 [ 0. 0. 0. 0. 0.]
 [ 0. 0. 0. 0. 0.]]
 [[ 0. 0. 0. 0. 0.]
 [ 0. 0. 0. 0. 0.]
 [ 0. 0. 0. 0. 0.]]]

自上而下每一個(gè)二維的“矩陣”代表三維房間的一個(gè)水平層面。

首先,我們將整個(gè)房間的溫度提高到比較舒適的 70 華氏度 (大約是 20 攝氏度):
清單 10. 打開加熱器

>>> room += 70
>>> print room
[[[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]
 [[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]
 [[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]
 [[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]]

請(qǐng)注意,在我們接下來對(duì) Numarray 數(shù)組和 Python 列表進(jìn)行操作時(shí)有很重要的區(qū)別。當(dāng)您選取數(shù)組的層面時(shí) -- 我們將會(huì)看到,多維數(shù)組中的分層方法非常靈活且強(qiáng)大 -- 您得到的不是一個(gè)拷貝而是一個(gè)“視圖”。指向相同的數(shù)據(jù)可以有多種途徑。

讓我們具體來看。假設(shè)我們房間有一個(gè)通風(fēng)裝置,會(huì)將地面的溫度降低四度:
清單 11. 溫度的變化

>>> floor = room[3]
>>> floor -= 4
>>> print room
[[[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]
 [[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]
 [[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]
 [[ 66. 66. 66. 66. 66.]
 [ 66. 66. 66. 66. 66.]
 [ 66. 66. 66. 66. 66.]]]

與此相對(duì),北面墻上的壁爐將每個(gè)鄰近位置的溫度升高了 8 度,而它所在位置的溫度為 90 度。
清單 12. 使用壁爐取暖

>>> north = room[:,0]
>>> near_fireplace = north[2:4,2:5]
>>> near_fireplace += 8
>>> north[3,2] = 90 # the fireplace cell itself
>>> print room
[[[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]
 [[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]
 [[ 70. 78. 78. 78. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]]
 [[ 66. 74. 90. 74. 66.]
 [ 66. 66. 66. 66. 66.]
 [ 66. 66. 66. 66. 66.]]]

這里我們使用了一些比較巧妙的索引方法,可以沿多維的方向來指定層面。這些視圖應(yīng)該保留,以后還會(huì)用到。例如,您可能希望知道整個(gè)北面墻上的當(dāng)前溫度:
清單 13. 查看北面的墻

>>> print north
[[ 70. 70. 70. 70. 70.]
 [ 70. 70. 70. 70. 70.]
 [ 70. 78. 78. 78. 70.]
 [ 66. 74. 90. 74. 66.]]

更多操作

以上介紹的僅僅是 Numarray 中便捷的函數(shù)和數(shù)組方法/屬性中的一小部分。我希望能給您一些初步的認(rèn)識(shí);Numarray 文檔是深入學(xué)習(xí)的極好參考資料。

既然我們的房間現(xiàn)在各處的溫度不再相同,我們可能需要判斷全局的狀態(tài)。例如,當(dāng)前房間內(nèi)的平均溫度:
清單 14. 查看平均化后的數(shù)組

>>> add.reduce(room.flat)/len(room.flat)
70.066666666666663

這里需要解釋一下。您可以對(duì)數(shù)組進(jìn)行的所有操作都有相對(duì)應(yīng)的 通用函數(shù) (ufunc)。所以,我們?cè)谇懊娴拇a中使用的 floor -= 4 ,可以替換為 subtract(floor,4,floor) 。指定 subtract() 的三個(gè)參數(shù),操作就可以正確完成。您還可以用 floor=subtract(floor,4) 來創(chuàng)建 floor 的一個(gè)拷貝,但這可能不是您所期望的,因?yàn)樽兓瘜l(fā)生在一個(gè)新的數(shù)組中,而不是 room 的一個(gè)子集中。

然而,unfunc 不僅僅是函數(shù)。它們還可以是可調(diào)用的對(duì)象,具有自己的方法:其中 .reduce() 可能是最為有用的一個(gè)。 reduce() 的工作方式如同 Python 中的內(nèi)置函數(shù) reduce() ,每個(gè)操作都是基本的 ufunc (不過這些方法在應(yīng)用于 Numerical 數(shù)組時(shí)會(huì)快得多)。換句話說, add.reduce() 表示的是 sum() , multiply.reduce() 表示的是 product() (這些快捷名稱也是定義好了的)。

在求房間各單元溫度的和之前,您需要先得到數(shù)據(jù)的一個(gè)一維視圖。不然,您得到的是第一維的和,并生成一個(gè)降低了維數(shù)的新數(shù)組。例如:
清單 15. 非平面數(shù)組的錯(cuò)誤結(jié)果

>>> add.reduce(room)
array([[ 276., 292., 308., 292., 276.],
    [ 276., 276., 276., 276., 276.],
    [ 276., 276., 276., 276., 276.]])

這樣一個(gè)空間和可能會(huì)有用,但它并不是我們這里想要得到的。

既然我們是在對(duì)一個(gè)物理系統(tǒng)建模,我們來讓它更真實(shí)一些。房間內(nèi)有微小的氣流,使得溫度發(fā)生變化。在建模時(shí)我們可以假設(shè)每一個(gè)小的時(shí)間段內(nèi),每個(gè)單元會(huì)根據(jù)它周圍的溫度進(jìn)行調(diào)整:
清單 16. 微氣流模擬

>>> def equalize(room):
...  z,y,x = map(randint, (1,1,1), room.shape)
...  zmin,ymin,xmin = maximum([z-2,y-2,x-2],[0,0,0]).tolist()
...  zmax,ymax,xmax = [z+1,y+1,x+1]
...  region = room[zmin:zmax,ymin:ymax,xmin:xmax].copy()
...  room[z-1,y-1,x-1] = sum(region.flat)/len(region.flat)
...  return room

這個(gè)模型當(dāng)然有一些不現(xiàn)實(shí):?jiǎn)卧粫?huì)只根據(jù)它周圍的溫度進(jìn)行調(diào)整而不去影響它相鄰的單元。盡管如此,還是讓我們來看一下它執(zhí)行的情況。首先我們選擇一個(gè)隨機(jī)的單元 -- 或者實(shí)際上我們選取的是單元本身在每一維度上的索引值加上 1,因?yàn)槲覀兺ㄟ^ .shape 調(diào)用得到的是長(zhǎng)度而不是最大的索引值。 zmin 、 ymin 和 xmin 確保了我們的最小值索引值為 0,不會(huì)取到負(fù)數(shù); zmax 、 ymax 和 xmax 實(shí)際上并不需要,因?yàn)閿?shù)組每一維的大小減去 1 之后的索引值就被當(dāng)作最大值來使用(如同 Python 中的列表)。

然后,我們需要定義鄰近單元的區(qū)域。由于我們的房間很小,所以經(jīng)常會(huì)選擇到房間的表面、邊沿或者一角 -- 單元的 region 可能會(huì)比最大的 27 元素 (3x3x3) 子集要小。這沒關(guān)系;我們只需要使用正確的分母來計(jì)算平均值。這個(gè)新的平均溫度值被賦給前面隨機(jī)選擇的單元。

您可以在您的模型中執(zhí)行任意多次的平均化過程。每一次調(diào)用只調(diào)整一個(gè)單元。多次調(diào)用會(huì)使用房間的某些部分的溫度逐漸趨于平均。即使數(shù)組是動(dòng)態(tài)改變的, equalize() 函數(shù)照樣可以返回它的數(shù)組。當(dāng)您只想平均化模型的一個(gè) 拷貝時(shí)這將非常有用:
清單 17. 執(zhí)行 equalize()

>>> print equalize(room.copy())
[[[ 70.    70.    70.    70.    70.   ]
 [ 70.    70.    70.    70.    70.   ]
 [ 70.    70.    70.    70.    70.   ]]
 [[ 70.    70.    71.333333 70.    70.   ]
 [ 70.    70.    70.    70.    70.   ]
 [ 70.    70.    70.    70.    70.   ]]
 [[ 70.    78.    78.    78.    70.   ]
 [ 70.    70.    70.    70.    70.   ]
 [ 70.    70.    70.    70.    70.   ]]
 [[ 66.    74.    90.    74.    66.   ]
 [ 66.    66.    66.    66.    66.   ]
 [ 66.    66.    66.    68.    66.   ]]]

結(jié)束語(yǔ)

本文僅介紹了 Numarray 的部分功能。它的功能遠(yuǎn)不止這些。例如,您可以使用填充函數(shù)來填充數(shù)組,這對(duì)于物理模型來說非常有用。您不但可以通過層面而且可以通過索引數(shù)組來指定數(shù)組的子集 -- 這使您不但可以對(duì)數(shù)組中不連續(xù)的片斷進(jìn)行操作,而且可以 -- 通過 take() 函數(shù) -- 以各種方式重新定義數(shù)組的維數(shù)和形狀。

前面我所描述的大部分操作都是針對(duì)于標(biāo)量和數(shù)組的;您還可以執(zhí)行數(shù)組之間的操作,包括那些不同維度的數(shù)組之間。這涉及到的內(nèi)容很多,但通過 API 可以直觀地完成所有這些操作。

我鼓勵(lì)您在自己的系統(tǒng)上安裝 Numarray 和 / 或 Numeric。它不難上手,并且它提供的對(duì)數(shù)組的快速操作可以應(yīng)用于極廣泛的領(lǐng)域 -- 往往是您開始時(shí)意想不到的。

相關(guān)文章

  • python閉包、深淺拷貝、垃圾回收、with語(yǔ)句知識(shí)點(diǎn)匯總

    python閉包、深淺拷貝、垃圾回收、with語(yǔ)句知識(shí)點(diǎn)匯總

    在本篇文章里小編給大家整理了關(guān)于python閉包、深淺拷貝、垃圾回收、with語(yǔ)句知識(shí)點(diǎn)匯總,有興趣的朋友們學(xué)習(xí)下。
    2020-03-03
  • Python中的數(shù)據(jù)分析詳解

    Python中的數(shù)據(jù)分析詳解

    這篇文章主要介紹了Python中的數(shù)據(jù)分析詳解,對(duì)數(shù)據(jù)進(jìn)行分析,數(shù)據(jù)分析是指根據(jù)分析目的,用適當(dāng)?shù)慕y(tǒng)計(jì)分析方法及工具,對(duì)收集來的數(shù)據(jù)進(jìn)行處理與分析,提取有價(jià)值的信息,發(fā)揮數(shù)據(jù)的作用,需要的朋友可以參考下
    2023-07-07
  • 基于PyQt5制作一個(gè)表情包下載器

    基于PyQt5制作一個(gè)表情包下載器

    每次和朋友聊天苦于沒有表情包,而別人的表情包似乎是取之不盡、用之不竭。作為一個(gè)程序員哪能甘愿認(rèn)輸,所以本文將用Python制作一個(gè)表情包下載器供大家斗圖,需要的可以參考一下
    2022-03-03
  • Python分析彩票記錄并預(yù)測(cè)中獎(jiǎng)號(hào)碼過程詳解

    Python分析彩票記錄并預(yù)測(cè)中獎(jiǎng)號(hào)碼過程詳解

    這篇文章主要介紹了Python分析彩票記錄并預(yù)測(cè)中獎(jiǎng)號(hào)碼過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • pandas數(shù)據(jù)處理之 標(biāo)簽列字符轉(zhuǎn)數(shù)字的實(shí)現(xiàn)

    pandas數(shù)據(jù)處理之 標(biāo)簽列字符轉(zhuǎn)數(shù)字的實(shí)現(xiàn)

    這篇文章主要介紹了pandas數(shù)據(jù)處理之 標(biāo)簽列字符轉(zhuǎn)數(shù)字的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python實(shí)現(xiàn)Android與windows局域網(wǎng)文件夾同步

    python實(shí)現(xiàn)Android與windows局域網(wǎng)文件夾同步

    這篇文章主要給大家詳細(xì)介紹了python實(shí)現(xiàn)Android與windows局域網(wǎng)文件夾同步,文中有詳細(xì)的代碼示例和圖文介紹,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 如何爬取通過ajax加載數(shù)據(jù)的網(wǎng)站

    如何爬取通過ajax加載數(shù)據(jù)的網(wǎng)站

    這篇文章主要介紹了如何爬取通過ajax加載數(shù)據(jù)的網(wǎng)站,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 在?Python?中使用變量創(chuàng)建文件名的方法

    在?Python?中使用變量創(chuàng)建文件名的方法

    這篇文章主要介紹了在?Python?中使用變量創(chuàng)建文件名,格式化的字符串文字使我們能夠通過在字符串前面加上 f 來在字符串中包含表達(dá)式和變量,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-03-03
  • Python3 sort和sorted用法+cmp_to_key()函數(shù)詳解

    Python3 sort和sorted用法+cmp_to_key()函數(shù)詳解

    這篇文章主要介紹了Python3 sort和sorted用法+cmp_to_key()函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Python讀取實(shí)時(shí)數(shù)據(jù)流示例

    Python讀取實(shí)時(shí)數(shù)據(jù)流示例

    今天小編就為大家分享一篇Python讀取實(shí)時(shí)數(shù)據(jù)流示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評(píng)論