"""1、什麼是函式
- 函式就是乙個**塊
2、為什麼要用函式(定義函式)
- 為了實現**的重用性
- 函式即變數,必須先定義,後飲用
3、函式的分類:
內建函式:如:print,list,tuple,dict等python內建好的函式,在python內部任何地方都可以呼叫
自定義函式:假如內建函式不能滿足我們對於某些功能的需求,就需要自定義一些函式
4、如何定義函式
定義函式都幹了什麼事?
- 只檢測語法,不執行**
語法 def func():pass def 關鍵字,func函式名,() :
定義有參函式,以及有參函式的應用場景
def func(name):pass - 根據外部傳進來的資料進行邏輯判斷
定義無參函式,以及無參函式的應用場景
def func():pass - 僅僅執行一些操作,比如使用者互動,列印等
定義空函式,以及空函式的應用場景
- 設計**結構
5、呼叫函式
如何呼叫函式
- 先找到名字,然後根據名字呼叫↓
- 函式名()
函式的返回值
- 不寫預設返回none
- return其它(乙個值|元組)
函式的返回值必須有嗎?
- 有:呼叫函式,經過一系列的操作,最後要拿到乙個明確的結果,則必須要有返回值
- 無:···,不需要得到什麼結果,則不需要有返回值
函式引數的應用:形參和實參,位置引數,關鍵字引數,預設引數,*arg,**kwargs
函式呼叫的三種形式:
- 1、語句形式:foo()
- 2、表示式形式:3*len("hello")
- 3、當另乙個函式的引數:range(len("hello"))
函式的引數:
- 形參和實參定義
- 形參即變數名,實參即變數值,函式呼叫將值繫結到名字上,函式呼叫結束,接觸繫結
注意:- 預設引數只在定義的時候賦值一次
6、高階函式(函式物件)
- 函式時第一類物件,即函式可以當做資料傳遞
- 可以被引用
- 可以作為返回值
- 可以當做容器類元素
7、函式巢狀
- 函式裡面的函式
8、作用域與命名空間
- golbal
- local
- 命名空間:存放名字的地方,三種命名空間(x=1,1存放在記憶體,x存放的地方就是命名空間)
- 載入順序:函式內的名字空間→外部巢狀的函式→全域性→內建模組的名字空間
9、裝飾器
- 閉包函式:內部函式包含對外部作用域而非全域性作用域的引用
- 閉包的意義:返回的函式物件,不僅僅是乙個函式物件,在該函式外還包裹了一層作用域
- 應用領域:延遲計算
- 本質(閉包函式),
- 呼叫方式 (語法)
- @函式名 *****>語法糖
- 為何要用裝飾器
- 開放封閉原則:對修改封閉,對擴充套件開放
- 在不修改源**的前提下增加新功能
10、迭代器、生成器以及協程函式
- 概念:重複的過程稱之為迭代,沒重複一次即一次迭代,本次的迭代結束值是下次的初始值
- 有__iter__方法
- 優點:惰性計算,節省記憶體;缺點:無法獲取長度,只能往後走
11、三元運算,列表解析,生成器表示式
- 三元運算:res = "sb" if name=="alex" else "shuai"
- 列表解析:[(i*i) for i in range(10)]
- 生成器表示式(用的時候才給);語法與列表推倒式一樣,只是 變為()
- 節省記憶體,一次只產生乙個值
- 應用:讀取大的檔案慢慢讀取,而不是一下子吧記憶體撐爆
12、函式的遞迴呼叫
- 遞迴和回溯
- 遞迴的效率低
在乙個函式內部再次呼叫這個函式,遞迴函式一定要有結束條件
13、內建函式
- python內部就有的函式
14、面向過程程式設計與函式式程式設計
- 面向過程:機械師思維,流水線式程式設計
- 函式式程式設計:壘**
"""
假期(函式相關)
1 什麼是函式 函式就是乙個 塊 2 為什麼要用函式 定義函式 為了實現 的重用性 函式即變數,必須先定義,後飲用 3 函式的分類 內建函式 如 print,list,tuple,dict等python內建好的函式,在python內部任何地方都可以呼叫 自定義函式 假如內建函式不能滿足我們對於某些功...
mysql相關函式 MySql 相關函式
select group concat column name from table name group by table name,table name2.field 函式自定義排序 select from user where type in 1,2,3 order by field colu...
自相關函式,互相關函式
1.首先說說自相關和互相關的概念。這個是訊號分析裡的概念,他們分別表示的是兩個時間序列之間和同乙個時間序列在任意兩個不同時刻的取值之間的相關程度,即互相關 函式是描述隨機訊號x t y t 在任意兩個不同時刻t1,t2的取值之間的相關程度,自相關函式是描述隨機訊號x t 在任意兩個不同時刻t1,t2...