今天我們來學習新的一篇吧,那便是「函式
(function)
」我們用def來定義乙個函式,以案例說話。
>>> def name(x): #定義乙個「name」的函式
... print x + ",是乙個帥哥!" #加號就當作乙個連線符了,連線x跟後面的字串
...>>> name("二狗哥")
二狗哥,是乙個帥哥!
>>>
>>>#求三角形面積。
>>> def sanjiaoxing(di,gao):
... s = di * gao / 2
... return s
...>>> sanjiaoxing(31,54)
837>>>#再來乙個小案例教大家認識一下啥事區域性作用於跟全域性作用域,其實跟別的語言一樣,就是全域性變數跟區域性變數而已。
>>> a = 2
>>> b = 4
>>> def test(b):
... test = a * b
... return test #return是返回的意思,返回test
...>>>#大家猜一下輸出多少?
>>> print test(12)
24>>>#def 裡面的是叫做區域性變數,而def外面的是全域性變數。區域性的只能在區域性用,當然了,區域性的也可以呼叫全域性的,但是全域性是不能呼叫區域性。所以列印出來是24,即2*12
>>>
>>> a = 2
>>> b =[12,23]
>>> def test(a,b):
... a = 5
... b[0] = 45
... print a,b
...>>> test(a,b)
5 [45, 23]
>>>#上面的乙個案例你明白了嗎?明白了的話,那就是真的懂了。
再給大家傳授乙個函式。那便是lambda函式
lambda只是乙個表示式,函式體比def簡單很多。其主體是乙個表示式,而不是乙個**塊。僅僅能在lambda表示式中封裝有限的邏輯進去。
lambda是起到乙個函式速寫的作用。允許在**內嵌入乙個函式的定義。
用lamdba會比def定義的函式來的簡單多。來看一下下面的案例。
>>>def python(x,y,z):
....... return x+y*z
.......
>>>python(1,2,3)
7如果用lambda的話是這樣的
>>>s = lambda x,y,z:x+y*z #直接一行就解決了,有沒有很高效,在程式設計中能用一行解決的,就絕對不要用多行解決。
7>>>
函式的話相對還是比較簡單,大家有不會的就盡量問。
和孩子一起學python(6)
重灌系統 1.raspi 國內映象 2.安裝imager1.5 也在映象目錄 並啟用,非常簡單,選檔案和sd碟符,按write,自動格式化,寫入並校驗。全程大約3 5分鐘。3.配置wifi和ssh,4.putty 後所有配置可以在 sudo raspi config下完成,先配置vnc,注意需要配置...
一起入門python7之函式引數
上一節課簡單的講了一下函式。那麼今天來給大家講一下函式引數。用案例說話哈。上一節課只是讓大家有比較簡單的了解,那麼這節我們來細化一下哈。def hello x 這裡的x就是引數 return x hello 2 自動將x 2帶入x x當中去計算了。故得四。4 大家想一下,倘若是次方的該怎麼辦?比如x...
一起入門python5之for迴圈
昨天中午本來寫了的,結果手賤了一下ctrl x以後又去複製了別的東西。結果所有寫的都沒有了。蛋疼。繼續寫吧。今天來說for迴圈 即條件判斷 age 20 首先將20賦值給age,通俗的說就是年齡二十歲。if age 18 如果大於等於十八就輸出你是成年人否則輸出第二條語句 print 你是成年人了 ...