Python的函數與模塊介紹之“養豬猿”

這一次我們來講python的函數和模塊!

那什麼是函數呢?

這個問題先放一放,我們來回憶一個場景,是不是經常聽到程序猿的夥伴或大佬說這個包,那個包之類的,但自己就是不知道是啥?難道是LV?程序大大都是這麼有錢麼?

看下面這個圖:

Python的函數與模塊介紹之“養豬猿”

這就是包,模塊,類和函數之間的關係,當然這個類是什麼,你可以先放一邊等下一篇文章再瞭解,這次我們主要是關注函數和模塊。

舉個“”python形成”的栗子:

函數+類->模塊 模塊+模塊->包 函數+類+模塊+包=Python

python的程序由包(package)、模塊(module)和函數組成。模塊是處理某一類問題的集合,模塊由函數和類組成。包是由一系列模塊組成的集合。

包就是一個完成特定任務的工具箱,python提供了許多有用的工具包,如字符串處理、圖形用戶接口、Web應用、圖形圖像處理等。使用自帶的這些工具包,可以提高程序員的開發效率,減少編程的複雜度,達到代碼重用的效果。這些自帶的工具包和模塊安裝在Python的安裝目錄下的lib子目錄中。

例如,lib目錄中的xml文件夾。xml文件夾就是一個包,這個包用於完成XML的應用開發。xml包中有幾個子包:dom、sax、etree和parsers。文件__init__.py是xml包的註冊文件,如果沒有該文件,Python將不能識別xml包。在系統字典表中定義了xml包。

注意:包必須至少含有一個__init__.py文件。__init__.py文件的內容可以為空,它用於識別當前文件夾是一個包。

上面算是一個只是擴充吧,我們還是回到正題上來,python的函數與模塊!

1.python的函數介紹

先背一段書:

函數是組織好的,可重複使用的,用來實現單一,或相關聯功能的代碼段。

函數能提高應用的模塊性,和代碼的重複利用率。你已經知道Python提供了許多內建函數,比如print()。但你也可以自己創建函數,這被叫做用戶自定義函數。

函數中重要理解的概念是內置函數,自定義函數,匿名函數(lambda),函數調用,參數傳遞,全局變量(global),局部變量(local),return語句,這些一定要清楚的知道概念。

提供了個理解方法!定義函數就像是小學上課一樣,老師說我們假設一個一元二次函數 y = 2x**2(平方)+ 3x + 2,定義域x是多少,值域y是多少,把y導入到另外兩個函數z = y + 3, g = Y +4 中使用,在z中y可以用,在g中y不可以用

這種概念很像,自己頭腦中要有清晰的思路,當然有些概念是你之前沒理解的,多去吃些“栗子”就“飽”了。

主要架構,個人整理如下:

Python的函數與模塊介紹之“養豬猿”

函數這關不會很難過,專心理解重要概念基本沒問題!

2.Python的模塊

模塊是python中重要的概念,python的程序是由一個個模塊組成的。前面已經接觸到了模塊,一個python文件就是一個模塊。

模塊把一組相關的函數或代碼組織到一個文件中。一個文件即是一個模塊。模塊由代碼、函數或類組成。加入創建一個名為myModule.py的文件,即定義了一個名為myModule的模塊。在myModule模塊中定義一個函數func( )和一個類(暫時記住)MyClass 。MyClass類中定義一個方法myFun(),這些就組成了myModule這個模塊。

大概意思可以這樣理解,把模塊比喻成一個一個的豬圈(juan)(想象成那種大一點的,裡面一個隔間一個間隔de,然後有東南西北4個區域的那種),比較通俗易懂,豬仔仔們稱為函數,隔間就好比類,裡面的各種比如飼料,水,盆等雜物稱為編碼,粑粑為bug。(不想陷入無窮無盡的鏟粑粑(bug)中T_T)

要成為一個豬圈(juan),你至少得有pig,那就是函數,那有太多了不好管理,就分成隔間,這個

隔間成為類,當然有些豬豬比較高貴也就自己在一個區域,這就是模塊中的函數的概念,為什麼模塊中可以有函數,因為這個pig比較重要,有著它無與倫比的作用!其他就是各種雜物堆積擺放,然後整體構成了模塊

然後模塊就構成了我們這個養豬場(python)(偷笑),原來我們是養豬猿!

下面是模塊的主要架構了:

Python的函數與模塊介紹之“養豬猿”

Python有很多內置的庫也就是所謂的模塊,最常用到的見到的是sys,os,math,re(正則表達式),random,threading,Json,XML,datetime等,具體的就是不多介紹,想知道里面都是有什麼,有什麼作用,使用圖片中所說的print(dir( )),當然要先import(模塊),或者from (模塊) import (方法)了,記得!少年,切記!切記!

說了這麼多,對於python主要架構的方面,後面還會介紹面向對象的編程,然後就不再對python做過多介紹了,後面如果大家有需求,或者遇到了比較有意義,會針對個別的函數用法或者概念進行詳細介紹。

因為要回到我的正題了,人工智了個能吶!不能懈怠,你想看到電腦程序識別圖片麼?生成圖片?識別語音?文本翻譯?

當然這些都是可以實現的,不過得慢慢的深入。

人生苦短,不如先學python!

我是極客Array,一個愛好python和深度學習的養豬猿!喜歡我就請關注我,期待與你分享更好的資訊!


分享到:


相關文章: