==說明一點奧,如果你前置文章沒有看懂,那麼不建議你直接看這個==
==因為看了也是浪費時間,沒有意義==
好,接下來就是python的靈魂部分了——函式
在歷史的長河中,遇到複雜問題的時候,人們總是想能不能對這個問題簡單化處理
於是,模組啊,函式啊什麼的,包括各種演算法就接踵而至了
那函式原先是怎麼想出來的呢?
在原先啊,人們遇到了乙個這樣的問題
# 報警裝置,出現問題,傳送問題到郵件
很正常的需求是吧
怎麼寫的呢(偽**)
a = 故障
if a == "警報故障"
開啟qq郵箱
編輯警報故障郵件
傳送郵件
關閉qq郵箱
if a == "排水故障"
開啟qq郵箱
編輯排水故障郵件
傳送郵件
關閉qq郵箱
if a == "儲水故障"
開啟qq郵箱
編輯儲水故障郵件
傳送郵件
關閉qq郵箱
... ...
剛開始人們就這麼寫的,但是很快,有人就發現了問題
這段**存在大量的重複語句
雖然可以當「cv工程師」,但是人類還是要進步的
所以人們就在想
把這些重複,多次使用的**語句放在「盒子」裡,用的時候直接把盒子拿出來
於是,函式就出現了!
這段**就可以變成這樣(先別問為什麼,看效果!):
def send_mail(x):
開啟qq郵箱
編輯x郵件
傳送郵件
關閉qq郵箱
a = 故障
send_mail(a)
是不是簡單太多了!
現實情況講完了,那就開始函式的學習之旅吧!
為什麼是這樣的呢?
當你沒有給這個city函式變數的時候,city函式就使用預設的「北京」這個引數傳遞給x;而當你給它乙個「上海」這個引數的時候,就用你的引數傳遞給x
懂了嗎?湊弟弟!
感覺應該叫關鍵字引數!
更像是字典的 key-value 模式
簡單不?懂了沒?是不是挺像 key-value 的字典模式的!
按順序乙個乙個來,這沒啥講的。
一定會報錯!因為你 4 這個引數都沒有變數接著,一定會報錯啊!
於是乎,聰明的「懶人」們就搞出了這個東西
*args
別問,用就完了!
args就是把你多出來的位置引數,以元組的方式儲存起來的乙個容器
*args就是把你多出來的位置引數,打散列印出來!
def func(x, y, z,*args):
print("x:", x)
print("y:", y)
print("z:", z)
print("其他",*args)
print("其他",args)
func(1,2,3,4,5)
x: 1
y: 2
z: 3
其他 4 5
其他 (4, 5)
ok不?了解了不?
那就再來個刺激的!
**kwargs
什麼鬼?????這是啥??????
這是關鍵引數溢位的儲存容器
def func(x, y, z, *args, **kwargs):
print("x:", x)
print("y:", y)
print("z:", z)
print("其他", *args)
它是以字典的形式儲存的,哈哈哈哈哈哈哈哈哈!!!!!!!!!
*基礎中的基礎*
*靈魂中的靈魂*
Python基礎 函式 函式引數
引數就是傳入的值 示例 usr bin env python3 coding utf 8 函式的引數和預設引數 defregist name,age,city shenzhen print name name print age age print city city 執行結果 d pythonpr...
函式基礎和函式引數
1.什麼是函式 1 概念 函式就是對實現某一特定功能的 段的封裝 機器 2 分類 系統函式 系統已將定義了,程式設計師可以直接使用的函式,比如 print,input,type,ord,chr,bin,len,id等 別人造好的機器 自定義函式 程式設計師自己定義使用的函式 自己造機器 2.函式的定...
08函式基礎,函式引數,內建函式
函式的定義 def 函式名 引數 pass return 表示式 函式名命名規則 字母 數字和下劃線組成,和變數命名規則一致 return 後面可以返回任意表示式,但不能是賦值語句 函式呼叫 函式名 引數 return 注意 return 和 print 的區別,return是函式的返回值,返回值可...