Python 是一種被認為是進步的編程語言,以其優化能力而聞名。Python 省去了編程的冗餘特性,使工具的利用率更高。在下面的教程中,我們將討論 Python 編程語言中模塊和函數之間的區別。
什麼是模塊?
一個模塊只是一個帶有的 Python 文件。py 擴展,程序員可以在另一個 Python 程序中導入。
Python 文件的名稱成為模塊的名稱。
該模塊包括以下內容的定義和實現-
- 類
- 變數
- 功能
可以在另一個程序中使用。
模塊的優勢
- 可重用性:使用模塊使代碼可重用。
- 簡單性:模塊針對小部分問題,而不是針對全部問題。
- 作用域:模塊定義了一個獨特的名稱空間,支持避免標識符之間的衝突。
什麼是函數?
一個函數是一組有組織的、可重用的代碼,我們可以執行一個單獨的、關聯的活動。這些功能分為不同的類型-
- 用戶定義的函數
- 內置功能
- λ函數
- 遞歸函數
用戶定義的函數:
我們為執行特定活動而定義的功能稱為用戶定義功能。
用戶自定義功能的好處
- 我們可以使用用戶定義的函數將一個大程序分解成小程序段,這使得程序易於理解、維護和調試。
- 假設程序中出現重複代碼。我們可以使用函數來包含這些代碼,並在需要時通過調用該函數來執行。
內置功能:
Python 有不同的功能,可以隨時使用。這些函數被稱為內置函數。
內置功能列表
abs(), delattr(), hash(), memoryview(), set(), all(), dict(), help(), min(), setattr(), any(), dir(), hex(), next(), slice(), ascii(), divmod(), id(), object(), sorted(), bin(), enumerate(), input(), oct(), staticmethod(), bool(), eval(), int(), open(), str(), breakpoint(), exec(), isinstance(), ord(), sum(), bytearray(), filter(), issubclass(), pow(),super(), bytes(), float(), iter(), print(), tuple(), callable(), format(), len(), property(), type(), chr(), frozenset(), list(), range(), vars(), classmethod(), getattr(), locals(), repr(), zip(), compile(), globals(), map(), reversed(), __import__(), complex(), hasattr(), max(), round()
Lambda 函數:
Lambda 函數被稱為匿名函數,定義時沒有名稱。
雖然我們可以在 Python 中使用 def 關鍵字定義普通函數,但是我們可以在 lambda 關鍵字的幫助下定義匿名函數。
Python 中 Lambda 函數的使用:
短期內需要一個無名函數。在 Python 中,我們通常將其用作高階函數(接受其他函數作為參數的函數)的參數。
Lambda 函數與內置函數一起使用,如 filter()、map() 等。
- 過濾器()\: 顧名思義,用於按照要求過濾 iterables。過濾器()函數過濾原始可迭代表,並傳遞給過濾器的函數返回真的元素。
- map()\:**map()**函數執行函數對可迭代表中元素的所有要求,並允許我們對其應用函數,然後將其傳遞給結果,結果可以有相同的值,也可以有不同的值。
遞歸函數:
遞歸函數是通過自引用表達式根據自身定義的函數。這意味著函數將繼續調用自己並重複其行為,直到滿足某些要求才能返回輸出。
在 Python 中定義和使用模塊
在下一節中,我們將了解如何在 Python 中定義和使用模塊。
為了開始,我們將創建一個帶有的 Python 程序文件。py 擴展並保存在本地存儲庫中。現在我們可以利用這個程序文件將其導入到應用中,以將模塊的功能包含在應用中。
我們可以使用 import 命令來包含多個模塊。
語法:
import module_1, module_2, ...
注意:一旦我們將模塊包含在程序代碼中,我們就執行了代碼,而沒有調用任何函數。這是因為我們已經定義並調用了文件中的函數。因此,整個文件首先作為一個更大規模的函數執行,在被調用時執行。
讓我們考慮下面的例子。
示例:
# importing a module
import math
我們可以從我們創建的模塊中刪除函數的調用,並使用點()訪問函數的屬性、類和所有其他有價值的東西。)操作員。
語法:
module_1.func_1()
module_2.name
讓我們同樣考慮下面的例子。
示例:
# importing a module
import math
# using the sqrt() function of the math module
print("Square root of 16:", math.sqrt(16))
輸出:
Square root of 16: 4.0
說明:
在上面的代碼片段中,我們已經導入了數學模塊。然後我們使用了數學模塊的 sqrt()
函數來求 16 的平方根,並為用戶列印值。
在 Python 中定義和調用函數
在下一節中,我們將了解如何在 Python 中定義和調用函數。
為了理解函數的定義和調用,讓我們考慮下面的例子。
示例:
# defining a function
def my_func():
print("Greetings User! Welcome to Javatpoint.")
# calling the function
my_func()
輸出:
Greetings User! Welcome to Javatpoint.
說明:
在上面的代碼片段中,我們定義了一個列印字元串並終止的簡單函數。這個函數的代碼也可以修改,以使它更有用。
我們可以將一個參數傳遞給函數,通過不對字元串進行硬編碼,使上面的代碼塊更容易重用。
讓我們同樣考慮下面的例子。
示例:
# defining a function
def my_func(name):
print("Greetings " + name + ", Welcome to Javatpoint.")
# calling the function
my_func("Daniel")
my_func("Michelle")
my_func("Chris")
my_func("Dana")
輸出:
Greetings Daniel, Welcome to Javatpoint.
Greetings Michelle, Welcome to Javatpoint.
Greetings Chris, Welcome to Javatpoint.
Greetings Dana, Welcome to Javatpoint.
說明:
在上面的代碼片段中,我們定義了一個函數,該函數接受一個名為的參數,並列印了一個包含該參數的語句。然後,我們通過指定名稱參數的值來調用該函數,並從一個函數中列印不同的語句。
正如我們所觀察到的,我們不必為不同的字元串重寫函數或重複定義函數。我們可以在整個應用中多次調用這個函數。
結論
模塊和功能可能看起來與其目的相似,即可重用性。然而,模塊的規模更大,因為它們用於不同的類、函數和屬性,以實現更大的功能。與此同時,職能更側重於規模較小的具體活動。
原創文章,作者:LZGR7,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129645.html