python之所以強大好用,離不開可以呼叫的各種庫,同時也和他自身函式相關,下面為學習python函式相關知識後整理知識點。
1、python函式引數:
python函式定義簡單但靈活度非常大。除正常定義的必選引數外,還可以使用預設引數,可變引數,關鍵字引數。
預設引數:def power(5 , x = 2)在函式介面直接賦值。可傳參改變大小,可省略引數。
注意事項:1、
必選引數在前,預設引數在後,否則python的直譯器會報錯
2、設定預設引數:當函式有多個引數時,把變化大的引數放前面,變化小的引數放後 面。變化小的引數就可以作為預設引數。
當有多個預設引數時,預設引數不按照順序傳,需要帶上名字,讓程式知道是給那個引數賦值。
定義預設引數:要牢記一點:預設引數必須指向不變物件!
定義可變引數:
定義可變引數和定義乙個list或tuple引數相比,僅僅在引數前面加了乙個*號。
nums = [1,2,3]
*nums表示把nums這個list的所有元素作為可變引數傳進去。
可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。
關鍵字引數:
關鍵字引數允許你傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為乙個dict。
extra =
person(
'jack'
, 24
, **extra)
**extra表示把extra這個dict的所有key-value用關鍵字引數傳入到函式的**kw引數,kw將獲得乙個dict,注意kw獲得的dict是extra的乙份拷貝,對kw的改動不會影響到函式外的extra。
命名關鍵字引數:必須傳入引數名
和關鍵字引數
**kw
不同,命名關鍵字引數需要乙個特殊分隔符*,
*後面的引數被視為命名關鍵字引數。
def
person
(name, age, *, city, job):
如果函式定義中已經有了乙個可變引數,後面跟著的命名關鍵字引數就不再需要乙個特殊分隔符
*
了:
def
person
(name, age, *args, city, job):
引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。
2、python的函式呼叫&函式定義:
呼叫函式:函式名(引數)
abs(x):求絕對值
max(1,2,3......)引數任意多個,求最大值
資料型別轉換:
int():把其他型別轉換為整型。int('123')
str():把其他型別轉換為字串。 str(123)
把函式名賦給變數,相當於給函式起了個別名。
函式定義:def 函式名(引數):
在縮排塊中編寫函式體,返回值用return返回。
如果函式儲存在檔案中,在python直譯器中匯入:
from 檔名 import 函式名 不含.py副檔名
空函式:函式體用pass,表示什麼也不做。
引數檢查:
對引數型別做檢查:isinstance()
def
my_abs
(x):
if
not
isinstance(x, (int, float)): x只允許整型和浮點型
raise
typeerror(
'bad operand type'
)if
x >= 0:
return
xelse
:return
-x返回多個值:函式可以返回多個值,也就是乙個tuple。
匯入math包可以引用math包裡函式:import math
定義函式時,需要確定函式名和引數個數;
如果有必要,可以先對引數的資料型別做檢查;
函式體內部可以用return隨時返回函式結果;
函式執行完畢也沒有return語句時,自動return none。
函式可以同時返回多個值,但其實就是乙個tuple。
怎樣學習python語言 如何學習python語言
python語言很神秘嗎 python作為一款類自然語言的程式語言,很方便的就可以上手,而且可以說是老少皆宜。用python程式設計非常簡單,只要有一台電腦 無論windows或者蘋果 就可以完成python程式設計。完成python程式設計首先需要在電腦上安裝python環境,安裝完成後就可以開始...
python學習筆記(二)
集合 set是可變的集合,frozenset是不可變的集合 1.構造集合 s set abcde s set a b c s set abc def ghi s frozenset abcde 2.集合操作 1.新增元素 s.add b 2.刪除元素 s.remove obj 當該元素不存在時丟擲異...
Python學習筆記(二)
換了本書,開始看 python核心程式設計 從第三章開始看。只記一些與c c 不同的地方,一些相同之處略去不提。3.1語句與語法 1 跨行一般用反斜槓 有兩個例外,乙個是在括號裡,二是三引號中 print what the hell you waiting for?2推薦用四個空格寬度代替製表符縮排...