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 ...