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

對(duì)于Python編程中一些重用與縮減的建議

 更新時(shí)間:2015年04月14日 10:33:45   投稿:goldensun  
這篇文章主要介紹了對(duì)于Python編程中一些重用與縮減的建議,來(lái)自于IBM官方技術(shù)文檔,需要的朋友可以參考下

返璞歸真

許多流行的玩具都以這樣一個(gè)概念為基礎(chǔ):簡(jiǎn)單的積木。這些簡(jiǎn)單的積木可通過(guò)多種方式組合在一起構(gòu)造出全新的作品 —— 有時(shí)甚至完全令人出乎意料。這一概念同樣適用于現(xiàn)實(shí)生活中的建筑領(lǐng)域,將基本原材料組合在一起,形成有用的建筑物。平凡無(wú)奇的材料、技術(shù)和工具簡(jiǎn)化了新建筑物的建造過(guò)程,同樣也簡(jiǎn)化了對(duì)新踏入此領(lǐng)域的人員的培訓(xùn)。

相同的基本概念也適用于計(jì)算機(jī)程序開(kāi)發(fā)技術(shù),包括以 Python 編程語(yǔ)言編寫(xiě)的程序。本文介紹了使用 Python 創(chuàng)建基本構(gòu)件 (building block) 的方法,可用于解決更為復(fù)雜的問(wèn)題。這些基本構(gòu)件可能小而簡(jiǎn)單,也可能龐大而復(fù)雜。無(wú)論采用哪種形式,我們這場(chǎng)游戲的目的就是定義基本構(gòu)件,然后使用它們來(lái)創(chuàng)建專屬于您的杰作。
函數(shù):封裝邏輯

在本系列的前幾篇文章中,您通常不得不重復(fù)輸入所有代碼,即便它與上一行代碼完全相同。此要求的惟一特例就是變量的使用:一旦初始化了變量的內(nèi)容,之后就可以隨時(shí)重用。顯而易見(jiàn),這一用法的普及對(duì)我們大有好處。

描述杰出程序員的最流行的箴言之一就是他們很懶惰。這并不表示杰出的程序員不努力工作 —— 而是說(shuō)他們喜歡靈活的工作方法,除非絕對(duì)必要,否則從不反復(fù)做任何相同的事情。這也就意味著在您需要編寫(xiě)代碼之前,首先考慮如何實(shí)現(xiàn)重用。Python 中有多種可實(shí)現(xiàn)重用的途徑,但最簡(jiǎn)單的技術(shù)莫過(guò)于使用函數(shù),也稱為方法 或子例程。

與絕大多數(shù)現(xiàn)代編程語(yǔ)言類(lèi)似,Python 支持使用方法將一組語(yǔ)句封裝在一起,從而可在必要時(shí)重復(fù)使用。清單 1 給出了一段簡(jiǎn)單的偽代碼,為您展示如何在 Python 中編寫(xiě)方法。
清單 1. 定義函數(shù)的偽代碼

def myFunction(optional input data):
  initialize any local data
  actual statements that do the work
  optionally return any results

如您所見(jiàn),在 Python 中,函數(shù)的基本組成部分是包裝器代碼,指明將被重用的一系列 Python 語(yǔ)句。函數(shù)可接受輸入?yún)?shù),輸入?yún)?shù)在緊接著函數(shù)名(在本例中為 myFunction)之后的圓括號(hào)內(nèi)提供。函數(shù)還可返回值(更為正式的說(shuō)法是:對(duì)象),包括像 tuple 這樣的 Python 容器。

在真正著手構(gòu)建函數(shù)之前,讓我們先來(lái)看看關(guān)于偽代碼的一些簡(jiǎn)單卻重要的要點(diǎn):

  •     請(qǐng)注意函數(shù)名中所用的字符大小寫(xiě):大多數(shù)字符都是小寫(xiě)的,但在使用多個(gè)單詞連接成一個(gè)函數(shù)名時(shí),后接的各單詞首字母應(yīng)大寫(xiě)(例如,myFunction 中的 F)。這就是所謂的駝峰式大小寫(xiě)風(fēng)格 (camel casing),是 Python 和其他編程語(yǔ)言中廣泛采用的一種技術(shù),可使函數(shù)的名稱更易閱讀。
  •     函數(shù)定義中的程序語(yǔ)句采用了縮進(jìn)式排版,函數(shù)體由 Python 語(yǔ)句塊構(gòu)成,它們也必須像循環(huán)或條件語(yǔ)句那樣縮進(jìn)。
  •     函數(shù)定義的第一行也稱為方法簽名 (method signature),以 def 開(kāi)頭(def 是 define 這個(gè)單詞的縮寫(xiě))。
  •     方法簽名以冒號(hào)結(jié)尾,表示下面的代碼行是函數(shù)體。

至此,您或許已認(rèn)可了使用方法的好處。那么讓我們投入進(jìn)去,開(kāi)始編寫(xiě)函數(shù)吧?!?a target="_blank" >Discover Python, Part 6: Programming in Python, For the fun of it” 中使用了一個(gè) for 循環(huán)來(lái)創(chuàng)建乘法表。清單 2 展示了同樣的概念,但本例中創(chuàng)建的是一個(gè)函數(shù),用于封裝乘法表計(jì)算背后的邏輯。
清單 2. 第一個(gè)函數(shù)

>>> def timesTable():
...   for row in range(1, 6):
...     for col in range(1, 6):
...       print "%3d " % (row * col),
...     print
... 
>>> timesTable()
 1  2  3  4  5 
 2  4  6  8  10 
 3  6  9  12  15 
 4  8  12  16  20 
 5  10  15  20  25 
>>> t = timesTable
>>> type(t)
<type 'function'>
>>> t
<function timesTable at 0x64c30>
>>> t()
 1  2  3  4  5 
 2  4  6  8  10 
 3  6  9  12  15 
 4  8  12  16  20 
 5  10  15  20  25

timesTable 函數(shù)定義起來(lái)非常簡(jiǎn)單,它不接受任何輸入?yún)?shù),也不返回任何結(jié)果。函數(shù)體幾乎與 “Discover Python, Part 6” 中的語(yǔ)句完全相同(但該文章中的乘法表為從 1 到 10)。為了調(diào)用 方法,并使其發(fā)揮作用,只需輸入函數(shù)名后接圓括號(hào)即可。本例中還輸出了乘法表。

在 Python 中,函數(shù)是一類(lèi)對(duì)象,與整型變量和容器對(duì)象相同。因而,您可以將函數(shù)指派給一個(gè)變量(切記,在 Python 中變量是動(dòng)態(tài)類(lèi)型化的)。在清單 2 中,我們將 timesTable 函數(shù)指派給變量 t。接下來(lái)的兩行代碼表示變量 t 確實(shí)指向函數(shù)。最后,我們使用變量 t 調(diào)用 timesTable 函數(shù)。
函數(shù):動(dòng)態(tài)更改邏輯

清單 2 中的 timesTable 函數(shù)不復(fù)雜,但也不是特別有用。更有用的示例允許您指定用于生成乘法表的行數(shù)和列數(shù) —— 換言之,允許您在調(diào)用函數(shù)時(shí)動(dòng)態(tài)地更改函數(shù)的操作方式。在函數(shù)定義中使用兩個(gè)輸入?yún)?shù)即可實(shí)現(xiàn)這一功能,如清單 3 所示。
清單 3. 更好的乘法表函數(shù)

>>> def timesTable2(nrows=5, ncols=5):
...   for row in range(1, nrows + 1):
...     for cols in range(1, ncols + 1):
...       print "%3d " % (row * cols),
...     print
... 
>>> timesTable2(4, 6)
 1  2  3  4  5  6 
 2  4  6  8  10  12 
 3  6  9  12  15  18 
 4  8  12  16  20  24 
>>> timesTable2()  
 1  2  3  4  5 
 2  4  6  8  10 
 3  6  9  12  15 
 4  8  12  16  20 
 5  10  15  20  25 
>>> timesTable2(ncols=3)
 1  2  3 
 2  4  6 
 3  6  9 
 4  8  12 
 5  10  15

兩個(gè)乘法表函數(shù)的定義非常相近,但清單 3 中的函數(shù)有用得多(通過(guò)清單 3 中的 3 次調(diào)用即可看出這一點(diǎn))。為函數(shù)添加此附加功能的方法非常簡(jiǎn)單:提供名為 nrows 和 ncols 的兩個(gè)輸入?yún)?shù),允許在調(diào)用函數(shù)時(shí)更改乘法表的大小。這兩個(gè)參數(shù)隨后會(huì)被提供給生成乘法表的兩個(gè) for 循環(huán)。

關(guān)于 timesTable2 函數(shù)的另一要點(diǎn)就是兩個(gè)輸入?yún)?shù)有默認(rèn)值。在函數(shù)簽名中為參數(shù)提供默認(rèn)值,方法是在參數(shù)名后添加等號(hào)和值,例如 nrows=5。默認(rèn)參數(shù)使程序獲得了更高的靈活性,因?yàn)樵谀{(diào)用函數(shù)時(shí),可以包含兩個(gè)輸入?yún)?shù),也可以僅包含一個(gè)輸入?yún)?shù),甚至可以一個(gè)參數(shù)都不包含。但這種方法可能會(huì)導(dǎo)致某些問(wèn)題。如果您在函數(shù)調(diào)用期間未指定全部參數(shù),則必須顯式地寫(xiě)出您所指定的參數(shù)的名稱,以使 Python 解釋器能夠正確地調(diào)用函數(shù)。最后一個(gè)函數(shù)調(diào)用正體現(xiàn)了這一點(diǎn),它顯式地調(diào)用了帶有 ncols=3 的 timesTable2 函數(shù),函數(shù)創(chuàng)建了一個(gè) 5 行(默認(rèn)值)3 列(所提供的值)的乘法表。
函數(shù):返回?cái)?shù)據(jù)

使用方法時(shí),人們最希望獲得的結(jié)果并非總是乘法表。您可能希望完成一次計(jì)算,并將計(jì)算結(jié)果值返回給調(diào)用代碼。有時(shí)要實(shí)現(xiàn)這兩個(gè)目的,需要分別調(diào)用不返回任何數(shù)據(jù)的調(diào)用方法(子例程)和返回值的方法(函數(shù))。但在 Python 中,您無(wú)需擔(dān)心這些語(yǔ)義問(wèn)題,因?yàn)橥ㄟ^(guò)使用 return 語(yǔ)句,幾乎可以相同的方式實(shí)現(xiàn)這兩個(gè)目的(參見(jiàn)清單 4)。
清單 4. 在函數(shù)中返回一個(gè)值

>>> def stats(data):
...   sum = 0.0
...   for value in data:
...     sum += value
...   return (sum/len(data))
... 
>>> stats([1, 2, 3, 4, 5])   # Find the mean value from a list
3.0
>>> stats((1, 2, 3, 4, 5))   # Find the mean value from a tuple
3.0
>>> stats()
Traceback (most recent call last):
 File "<stdin>", line 1, in ?
TypeError: stats() takes exactly 1 argument (0 given)
>>> stats("12345")
Traceback (most recent call last):
 File "<stdin>", line 1, in ?
 File "<stdin>", line 4, in stats
TypeError: unsupported operand type(s) for +=: 'float' and 'str'

這個(gè)簡(jiǎn)單的函數(shù)遍歷 data(假設(shè) data 為一個(gè)容納有數(shù)字?jǐn)?shù)據(jù)的 Python 容器),計(jì)算一組數(shù)據(jù)的平均值,然后返回值。函數(shù)定義接受一個(gè)輸入?yún)?shù)。平均值通過(guò) return 語(yǔ)句傳回。當(dāng)您調(diào)用帶有包含數(shù)字 1 到 5 的 list 或 tuple 的函數(shù)時(shí),返回值會(huì)顯示在屏幕上。如果調(diào)用不帶任何參數(shù)的函數(shù)、帶非容器數(shù)據(jù)類(lèi)型的函數(shù)或帶內(nèi)含非數(shù)字?jǐn)?shù)據(jù)的容器的函數(shù),就會(huì)導(dǎo)致出錯(cuò)。(在此類(lèi)情況下拋出錯(cuò)誤是很有意義的。更高級(jí)的處理方法應(yīng)包含恰當(dāng)?shù)腻e(cuò)誤檢查和處理,以應(yīng)對(duì)這些情況,但這不在本文討論范圍內(nèi)。)

此示例已經(jīng)非常有用,但還可使它更強(qiáng)大,如清單 5 所示。在 Python 中,函數(shù)可返回任何有效的對(duì)象類(lèi)型,包括容器類(lèi)型在內(nèi)。因此,您可以計(jì)算多個(gè)數(shù)量,并輕松地將多個(gè)結(jié)果返回給調(diào)用語(yǔ)句。
清單 5. 返回復(fù)合值

>>> def stats(data):
...   sum = 0.0
...   for value in data:
...     sum += value
...   mean = sum/len(data)
...   sum = 0.0
...   for value in data:
...     sum += (value - mean)**2
...   variance = sum/(len(data) - 1)
...   return (mean, variance)
...
>>> stats([1, 2, 3, 4, 5])
(3.0, 2.5)
>>> (m, v) = stats([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> print m, v
5.0 7.5

為了從一個(gè)函數(shù)中返回多個(gè)值,要將其括在一個(gè)括號(hào)中并以逗號(hào)分隔 —— 換句話說(shuō),創(chuàng)建并返回一個(gè) tuple。新 stats 函數(shù)的函數(shù)體要略加修改,以計(jì)算數(shù)字序列的樣本方差。最后,正如 stats 函數(shù)的兩次調(diào)用所示,tuple 值可作為一個(gè) tuple 存取,也可將其解包為各自的分量。

模塊:簡(jiǎn)化代碼重用

至此,您或許已相信了代碼重用的價(jià)值。但即便是使用函數(shù),您依然需要在打算使用函數(shù)時(shí)重新輸入函數(shù)體。例如,當(dāng)您打開(kāi)一個(gè)新的 Python 解釋器時(shí),必須鍵入之前所創(chuàng)建的所有函數(shù)。幸運(yùn)的是,您可以使用模塊 將相關(guān)函數(shù)(和其他 Python 對(duì)象)封裝在一起,將其保存在一個(gè)文件中,然后將這些已定義好的函數(shù)導(dǎo)入到新 Python 代碼內(nèi),包含于 Python 解釋器之中。

為介紹在 Python 中使用模塊的方法,我們將重用清單 5 中的 stats 方法。有兩個(gè)選擇:您可以從與本文相關(guān)的壓縮文件中提取名為 test.py 的文件,也可以在編輯器中鍵入函數(shù),然后將文件保存為 test.py。完成上一步后,在您保存 test.py 的目錄中啟動(dòng)一個(gè)新的 Python 解釋器,然后輸入如清單 6 所示的語(yǔ)句。
清單 6. 使用模塊

>>> import test
>>> test.stats([1, 2, 3, 4, 5, 6, 7, 8, 9])
(5.0, 7.5)
>>> from test import stats
>>> (m, v) = stats([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> print m, v
5.0 7.5

第一行 import test 打開(kāi)文件 test.py 并處理文件中的各條語(yǔ)句。這里僅定義了 stats 函數(shù),但若需要,您還可定義更多的函數(shù)。調(diào)用 stats 函數(shù)時(shí),應(yīng)以模塊名 test 作為函數(shù)前綴。之所以使用這種復(fù)雜的名稱,是出于作用域 方面的考慮,作用域表示一個(gè)程序內(nèi)名稱的有效范圍。為告知 Python 您要調(diào)用的是哪個(gè) stats 方法,就必須提供完整的名稱。這一點(diǎn)非常重要,因?yàn)槟赡軗碛卸鄠€(gè)名稱相同的對(duì)象。作用域規(guī)則可幫助 Python 判斷您想使用的對(duì)象。

第三行 from test import stats 也打開(kāi)了文件 test.py,但它隱式地將 stats 方法置入當(dāng)前文件的作用域內(nèi),以使您能夠直接調(diào)用 stats 函數(shù)(無(wú)需使用模塊名)。明智地使用 from ... import ... 語(yǔ)法可使您的程序更簡(jiǎn)潔,但過(guò)度的使用也會(huì)導(dǎo)致混淆,甚至出現(xiàn)更糟糕的作用域沖突錯(cuò)誤。不要濫用您的新武器!
模塊庫(kù)

使用 Python 編程語(yǔ)言的一個(gè)主要好處就是大型的內(nèi)置式標(biāo)準(zhǔn)庫(kù),可作為 Python 模塊訪問(wèn)。常用模塊示例如下:

  •     math 包含有用的數(shù)學(xué)函數(shù)。
  •     sys 包含用于與 Python 解釋器交互的數(shù)據(jù)和方法。
  •     array 包含數(shù)組數(shù)據(jù)類(lèi)型和相關(guān)函數(shù)。
  •     datetime 包含有用的日期和時(shí)間處理函數(shù)。

由于這些都是內(nèi)置模塊,因此您可以通過(guò)幫助解釋器來(lái)了解更多相關(guān)內(nèi)容,如清單 7 所示。
清單 7. 獲得關(guān)于 math 模塊的幫助信息

>>> help(math)
Traceback (most recent call last):
 File "<stdin>", line 1, in ?
NameError: name 'math' is not defined
>>> import math   # Need to import math module in order to use it
>>> help(math)
Help on module math:
NAME
  math
FILE
  /System/Library/Frameworks/Python.framework/Versions/2.4/lib/
python2.4/lib-dynload/math.so
DESCRIPTION
  This module is always available. It provides access to the
  mathematical functions defined by the C standard.
FUNCTIONS
  acos(...)
    acos(x)
    
    Return the arc cosine (measured in radians) of x.
  
  asin(...)
    asin(x)
    
    Return the arc sine (measured in radians) of x.
...

math 模塊的幫助輸出展示了所支持的大量數(shù)學(xué)函數(shù),包括 sqrt 函數(shù)在內(nèi)。您可以利用此函數(shù)將您的樣本方差計(jì)算轉(zhuǎn)換為樣本標(biāo)準(zhǔn)差計(jì)算,如清單 8 所示。
清單 8. 使用多個(gè)模塊

>>> from math import sqrt
>>> from test import stats
>>> (m, v) = stats([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> print m, sqrt(v)
5.0 2.73861278753

如您所見(jiàn),您可以將多個(gè)模塊導(dǎo)入到一個(gè) Python 程序中。在大型、內(nèi)置的模塊庫(kù)與更大量的公用庫(kù)(其中許多都是開(kāi)放源碼的)的共同協(xié)助下,您很快也會(huì)成為一名懶惰 —— 也就是杰出 —— 的程序員。

可執(zhí)行文件

導(dǎo)入一個(gè)模塊時(shí),Python 解釋器會(huì)處理模塊文件內(nèi)的各行。實(shí)際上,您可以調(diào)用 Python 解釋器使其僅處理包含于一個(gè)文件中的一個(gè) Python 程序。在基于 UNIX? 的操作系統(tǒng)中,您可以輕松創(chuàng)建可執(zhí)行的文件,如清單 9 所示。
清單 9. 一個(gè)完整的 Python 程序

#!/usr/bin/env python
def stats(data):
  sum = 0.0
  for value in data:
    sum += value
  mean = sum/len(data)
  sum = 0
  for value in data:
    sum += (value - mean)**2
  variance = sum/(len(data) - 1)
  return(mean, variance)
(m, v) = stats([1, 2, 3, 4, 5, 6, 7, 8, 9])
print "The mean and variance of the values " \
"from 1 to 9 inclusive are ",m, v

觀察上例,您應(yīng)該會(huì)產(chǎn)生幾分好感,將 Python 程序置于文件內(nèi),并使其運(yùn)行是如此簡(jiǎn)單。本例與 test.py 文件中的代碼之間惟一的差異就是包含了第一行。在基于 UNIX 的操作系統(tǒng)中,本行會(huì)使 Python 解釋器自動(dòng)啟動(dòng),并在終止前處理文件中的語(yǔ)句。本示例中的其他行定義了 stats 函數(shù)、調(diào)用了函數(shù),并輸出了結(jié)果。

要運(yùn)行本文件中的語(yǔ)句,您需要啟動(dòng)一個(gè) Python 解釋器,并讓它去讀取和處理文件的內(nèi)容。為實(shí)現(xiàn)這一目的,您必須首先將清單 9 中的示例輸入到一個(gè)名為 mystats.py 的文件中,也可從與本文相關(guān)的壓縮文件中提取文件。進(jìn)入包含此文件的目錄,然后按清單 10 中所示命令執(zhí)行。注意對(duì)于 Microsoft? Windows? 操作系統(tǒng)而言,僅應(yīng)使用第一條命令;其他命令是供 UNIX 系統(tǒng)(如 Linux? 或 Mac OS X)使用的。
清單 10. 執(zhí)行 Python 程序

rb% python mystats.py
The mean and variance of the values from 1 to 9 inclusive are 5.0 7.5
rb% chmod +x mystats.py
rb% ./mystats.py
The mean and variance of the values from 1 to 9 inclusive are 5.0 7.5

清單 10 中的命令展示了運(yùn)行一個(gè)包含于文件之中的 Python 程序的方法。第一條命令以文件名調(diào)用 Python 解釋器,無(wú)論使用哪種系統(tǒng)安裝 Python、Python 解釋器位于哪個(gè)目錄下,這種方法都有效。第二條命令 chmod 使包含 Python 程序的文件成為可執(zhí)行文件。第三條命令告訴操作系統(tǒng)運(yùn)行程序。這是通過(guò)使用 env 程序?qū)崿F(xiàn)的,這是一種獨(dú)立于操作系統(tǒng)的技術(shù),用于定位和運(yùn)行程序 —— 本例中是 Python 解釋器。

重用與縮減

本文介紹了如何在 Python 中編寫(xiě)可重用代碼。討論了如何在 Python 程序中使用方法或可重用塊。方法可接受輸入?yún)?shù),也可返回?cái)?shù)據(jù),包括容器數(shù)據(jù)類(lèi)型在內(nèi)。這種功能使方法成為一種可處理大量問(wèn)題的強(qiáng)大途徑。本文還介紹了模塊,模塊可使您將相關(guān)方法及數(shù)據(jù)合并入一個(gè)有組織的層次結(jié)構(gòu)中,而此結(jié)構(gòu)可方便地在其他 Python 程序中重用。最后還介紹了如何將所有這些內(nèi)容組合在一起以創(chuàng)建一個(gè)功能完整、獨(dú)立的 Python 程序。您已經(jīng)看到,代碼的重用也就意味著您的工作量縮減。對(duì)于程序員而言,懶惰是一種優(yōu)勢(shì)而非陋習(xí)。

相關(guān)文章

  • 制作Python數(shù)字華容道的實(shí)現(xiàn)(可選擇關(guān)卡)

    制作Python數(shù)字華容道的實(shí)現(xiàn)(可選擇關(guān)卡)

    這篇文章主要介紹了制作Python數(shù)字華容道的實(shí)現(xiàn)(可選擇關(guān)卡),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python量化因子測(cè)算與繪圖超詳細(xì)流程代碼

    Python量化因子測(cè)算與繪圖超詳細(xì)流程代碼

    這篇文章主要介紹了Python量化因子測(cè)算與繪圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-02-02
  • python圖形界面tkinter的使用技巧

    python圖形界面tkinter的使用技巧

    這篇文章主要介紹了python圖形界面tkinter的使用技巧,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • python與sqlite3實(shí)現(xiàn)解密chrome cookie實(shí)例代碼

    python與sqlite3實(shí)現(xiàn)解密chrome cookie實(shí)例代碼

    這篇文章主要介紹了python與sqlite3實(shí)現(xiàn)解密chrome cookie實(shí)例代碼,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python使用configparser讀取ini配置文件

    Python使用configparser讀取ini配置文件

    這篇文章主要介紹了Python使用configparser讀取ini配置文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python和anaconda區(qū)別以及先后安裝的問(wèn)題詳解

    python和anaconda區(qū)別以及先后安裝的問(wèn)題詳解

    Anaconda(開(kāi)源的Python包管理器)是一個(gè)python發(fā)行版,包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng),下面這篇文章主要給大家介紹了關(guān)于python和anaconda區(qū)別以及先后安裝問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Redis持久化機(jī)制實(shí)現(xiàn)原理和流程

    Redis持久化機(jī)制實(shí)現(xiàn)原理和流程

    這篇文章主要介紹了Redis持久化機(jī)制實(shí)現(xiàn)原理和流程,持久化就是把內(nèi)存中的數(shù)據(jù)存放到磁盤(pán)中,防止宕機(jī)后內(nèi)存數(shù)據(jù)丟失,需要的朋友可以參考下
    2023-04-04
  • 3行Python代碼實(shí)現(xiàn)圖像照片摳圖和換底色的方法

    3行Python代碼實(shí)現(xiàn)圖像照片摳圖和換底色的方法

    這篇文章主要介紹了3行Python代碼實(shí)現(xiàn)圖像照片摳圖和換底色的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python with語(yǔ)句的原理與用法詳解

    python with語(yǔ)句的原理與用法詳解

    這篇文章主要介紹了python with語(yǔ)句的原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了python with語(yǔ)句基本概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • Anaconda環(huán)境GDAL庫(kù)基于whl文件的配置方法

    Anaconda環(huán)境GDAL庫(kù)基于whl文件的配置方法

    這篇文章主要介紹了Anaconda環(huán)境GDAL庫(kù)基于whl文件的配置方法,我們介紹了基于conda?install命令直接聯(lián)網(wǎng)安裝GDAL庫(kù)的方法,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04

最新評(píng)論