函式基礎(一) 函式 引數

2021-09-25 18:28:39 字數 2499 閱讀 1432

==說明一點奧,如果你前置文章沒有看懂,那麼不建議你直接看這個==

==因為看了也是浪費時間,沒有意義==

好,接下來就是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是函式的返回值,返回值可...