說到函式,想必大家都知道,初中某天數學課上,光頭的老師不耐其煩地給我們講述著函式這樣乙個概念,我們則再春風地**下嚮往夢鄉。也曾經有不知道多少腦細胞在和函式的戰鬥中陣亡,線性函式、二次函式、指數函式、三角函式、簡單函式、複雜函式、特殊函式、復變函式、泛函式…總有一款讓你爽一爽
一時說的太遠,忘記怎麼講python的函式了!程式語言中的函式可以理解地更簡單點,就是實現乙個功能或者變換,基本語法是:
def func(*args, **kwarg)
"""函式說明"""
...return res
以上包含
def dahan():
print("啊啊啊啊")
當然你可以通過乙個引數來設定大喊的時間(次數)
def dahan(t):
print("啊"*t)
你覺得一般人只能大喊三聲,然後就沒勁了,於是次數可以設定預設值
def dahan(t = 3):
print("啊"*t)
return a, b, c 和 return (a, b, c)是等價的
最開始學python的時候總是不知道python有多個返回值怎麼用呢?其實很簡單
def func_007():
a = b = c = 1
return a, b, c
e, f, g = func_007()
以上函式就是呼叫函式007,e,f, g被賦值為1
# 呼叫前面的dahan ,實際是把tx的值賦給了變數t
tx=5
dahan(t=tx)
上面的情況很好理解,但是也存在不好理解的情況:
a =
def func_008(d):
d = 1
func_008(a)
print(a)
上面呼叫函式後,a最後變成[1]。其實很奇怪的,我們只是把a傳給了函式,通常情況下我們認識的函式,是乙個封裝,函式內部運算應該不會影響外部的變數。怎麼理解上面的過程呢?
a = [(liming, 10), (hanmeimei, 99), ('xiaoai', 88)]
sorted(a, key=lambda x: x[1], reversed=true)
通過以上排序我們知道liming確實學習成績很糟糕。lambda表示式其實返回給我們乙個函式物件
,輸入時x,輸出是x的第二個元素。對這裡說道了函式物件,python裡面一切都是object,object都可以作為引數進行傳遞。
# 一天歷程
def chifan():
print("我該吃啥")
print("我吃飽了")
...def da_doudou():
...def shuijiao():
...chifan()
da_doudou()
shuijiao()
你實現你一天怎麼過的時候,你一下子想到了吃飯、打豆豆、睡覺,然而吃飯並不簡單,裡面有思考,有猶豫,有享受、有吃飽後的空虛寂寞冷…這就是結構化思維,利用函式我們可以很好地結構化程式設計,寫出來的函式思路清晰、骨骼驚奇 … 一看就是練武奇才我這裡有一本武功秘籍…飄了
啥也不說了,各位大俠是時候動手寫寫函式了…
結構化思維
結構化思維方式,不僅是高效傳遞資訊的能力,它更是你分析問題和解決問題的能力,因為,這種思維方式可以讓我們在面臨問題的時候,把所有和解決問題無關的資訊刪除,把問題化繁為簡,把握本質。1.思維要有 明確的 方向性 2.思維要有 清洗的 層次感 3.思維要有 完整的 結構式 面對問題的時候,通過某種結構,...
結構化思維
原本以為像老刀這樣的高管對基本技術細節應該不關心,也應該丟得差不多了,結果卻恰恰相反,在晚上的閒聊中,他盡然能把作業系統 網路 資料結構等基礎課程從頭到尾說得清清楚楚,簡直讓我這個剛從校園出來的學生慚愧得無地自容。分析下來,他能把這些技術細節 記 得這麼牢,是因為他抓住了這些基礎知識的精髓,在學習和...
結構化思維
定義問題 在解決問題前,必須先知道真正的問題是什麼。提出核心建議 核心建議應該是乙個合理假設,它解釋為什麼提議值得被採納,而且採納的原因必須是對你的溝通物件有價值的內容 或是問題如何被解決。構建框架 提出論據的邏輯至關重要,你羅列事實或是分析資料的方式會影響到最終結果。建立故事 應當是乙個簡單的講述...