python基礎6 python函式

2022-04-10 16:21:51 字數 1605 閱讀 4708

python函式

一、函式的引數

1、函式的引數從呼叫的角度來講可以分為形式引數和實際引數,也可叫形參和實參。

形參:變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數

實參:可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使引數獲得確定值

2、位置引數:按照從左到右的順序依次定義的引數

注:按位置定義的形參必須被傳值,多乙個不行,少乙個不行。

按位置定義的實參,與形參一一對應

3、關鍵字引數:在傳入實參時指定形參的變數名(實參在定義時,按照key=value形式定義)

注意的問題一:位置實參必須在關鍵字實參的前面。

注意的問題二:實參的形式既可以用位置實參又可以是關鍵字實參,但是乙個形參不能重複傳值。

4、預設引數:定義函式階段,就已經為形參賦值,定義階段有值,呼叫階段可以不用傳值。

預設引數需要注意:

問題一:必須放在位置引數和形參後面

問題二:預設引數通常要定義成不可變型別

問題三:預設引數只在定義階段被賦值一次

5、可變成引數(收集引數):可變長指的是實參的個數不固定

按位置定義的可變長度的實參:*  (*定義成的實參是元祖形式)

按關鍵字定義的可變長度的實參:** (**定義成的實參是字典形式)

注:*和**既可以「打包」又可以「解包」。

注:函式必須遵守先定義後使用的原則,定義階段是只檢測語法不執行**,執行階段是執行**。

二、函式的返回值(return)

1、return返回值沒有的情況下返回none.

2、return可以返回任意型別的值。

3、return只能返回一次值,其作用是終止函式的執行。

三、命名空間(即就是存放名字與值得繫結關係)。

1、命名空間分為三類,分別是內建命名空間,全域性命名空間和區域性命名空間。

2、內建命名空間:python直譯器自帶的名稱,預設python直譯器啟動就會執行。

3、全域性命名空間:檔案級別的名字都會存放在全域性命名空間中,執行python檔案時會產生。

4、區域性命名空間:定義在函式內部的名稱,區域性命名空間只有在函式呼叫時才會生效,停止呼叫就會失效。

5、三者的載入順序:內建命名空間》全域性命名空間》區域性命名空間

6、三者的取值順序:區域性命名空間》全域性命名空間》內建命名空間

四、函式變數的作用域(全域性變數作用域和區域性變數作用域)

1、全域性作用域:內建命名空間與全域性命名空間的名字屬於全域性範圍,在整個檔案的任意位置都能被引用,全域性有效(也就是說**內所有的函式內部都可以訪問到全域性變數)。

2、區域性作用域:區域性命名空間的名字屬於區域性範圍,只在函式內部可以被引用,區域性有效

五、函式的巢狀

1、函式內部建立另乙個函式,這種函式叫做內嵌函式或者是巢狀函式。 

2、內部函式整個作用域都在外部函式之內。

六、函式物件

1、函式是第一類物件: 指的是函式可以被當做資料傳遞

2、函式可以被引用,可以當作函式的引數,可以當作函式的返回值,可以當作容器型別的元素.

6 Python基礎 函式練習

1.設計乙個函式,統計乙個字串中出現頻率最高的字元 單個符號 及其出現次數 定義函式 def str max count2 my str if len my str 1 print 輸入錯誤!return my dic for item in my str my dic.update max cou...

python小測驗6 Python小記6

8.4 迴圈計算 程式中,利用迴圈流程,進行重複計算。例項演示 利用迴圈以及賦值運算等,計算1 100的和。按照數學等差數列公式,可以輕鬆得出 和 s 1 100 100 2,但是現在我們需要使用程式迴圈,進行原始的方法計算,s 1 2 3 4 100 0 100求和 定義計數器,初始化 i 1 定...

Python初學(6) Python的函式

這一篇筆記,學習python 的函式函式基礎 函式相關的語句和表示式 語句 例子calls myfunc spam eggs meat ham def,def adder a,b 1,c return return a b c 0 global def changer global x x new ...