函式是一段特定功能的,被封裝的,可重用的程式**段。給這段程式乙個名稱,然後就可以在其他程式的任何地方通過這個名稱任意地執行這個斷碼塊。
(1).方式一
乙個變數已在函式外部定義,若要在函式內部進行複製的話,在函式內部使用global關鍵字進行定義。
!/usr/python
defsum
():global x
print x
x=4sum()
(2).方式二
在函式內部直接定義乙個全域性變數,函式外沒有宣告。
!/usr/python
deffunc
():global x
x=4print x
func()
print
'x=' x
!/bin/python
deffunction
(i,c=2):
print
'i=?c=?' i,c
function(1)
function(3,5)
注意:對於預設引數的定義,要放在替他引數之後。
(2).關鍵引數
關鍵引數指在函式中有多個引數時,呼叫函式時不想安裝引數的順序進行傳值,可以通過命名為引數賦值。
!/bin/python
deffunc
(i,a=2,c=4):
print
'1=?,a=?,c=?'
func(1,c=6) //i的值為1,a=2,c=6
func(3,5) //i=3,b=5
func(c=8,a=4) //c=8,a=4
(3).可變長度引數
你可能需要乙個函式能處理比當初宣告時更多的引數。這些引數叫做不定長引數,和上述2種引數不同,宣告時不會命名。基本語法如下:
def func(*pa):
!/bin/python
deffunc
(*pa):
print pa
func(1,2,3,4,5)
使用識別符號』*』表示引數的長度可以變化,此時引數以tuple的形式出現。
那麼如果我們想在傳遞引數時,給函式傳遞乙個dict怎麼辦呢?
此時使用』**』識別符號可以實現傳遞乙個字典
!/bin/python
deffunc
(**pa):
print pa
func(x=1,y=3,z=5)
執行結果:
(4).序列引數
在python中預設的使用序列作為引數,只能實現單變數的傳遞,但是對於引數個數不匹配的問題時,在實參前加*可以實現把實參分解給各個形參,實現傳遞list。
!/bin/python
deffunc
(a,b,c,d):
print a+b+c+d
li=[1,2,3]
func(1,*li)
!/bin/python
defrun(x):
if (x%4==0
and x%100!=0) or x%400==0:
print
'y'else:
print
'n'a=input('請輸入乙個年份:')
run(a)
(2).編寫函式,判斷乙個數是否為水仙花數。
!/bin/python
defflower
(x):
a=int(x/100) //返回整數部分
b=int((x-a*100)/10)
c=x-a*100-b*10
print a
print b
print c
if pow(a,3)*pow(b,3)*pow(c,3)==x:
print x,'為水仙花數'
else:
print x,'不是水仙花數'
a=int(input('請輸入乙個數:'))
flower(a)
但我們在程式中直接使用abs()時,此時屬於函式的呼叫
>>>abs(-10)
10那麼我們將函式本身賦值給變數
>>>s=abs()
>>>s
infunction
abs>
此時,變數指向了函式,我們來呼叫這個變數
>>>s(-10)
10
既然函式可以賦值給變數,函式在傳值時傳入的是變數,那麼乙個函式也可以接受哪乙個函式作為引數,那麼這種函式就稱之高階函式
例如:
!/bin/python
deffunc
(a,c,f):
print f(a)
print f(c)
f=abs()
func(-39,-2,f)
!/bin/python
deffunc
():def
che(x,y):
return x*y
return che
f=func()
f()
注意:在函式內部定義乙個函式時不要使用迴圈語句。 Python基礎學習篇 dir 函式
您可以使用內建的dir 函式列出乙個定義物件的識別符號。例如,對於乙個模組,包括在模組中定義的函式,類和變數。當你給dir 提供乙個模組名字時,它返回在那個模組中定義的名字的列表。當沒有為其提供引數時,它返回當前模組中定義的名字的列表。dir 函式舉例 import sys 獲得屬性列表,在這裡是s...
Python學習筆記 基礎函式篇
python自帶的sum函式 或者 numpy中的sum函式 無參時,所有全加 axis 0,按列相加 axis 1,按行相加 print sum 1,2,3 4,5,5 print sum 1,2,3 4,5,5 axis 0 print sum 1,2,3 4,5,5 axis 1 numpy中...
Python學習基礎篇
1.python學習,通過linux指令 py 檔案建立第一行輸入特殊注釋 usr bin env python 然後通過指令給 py以執行許可權chmod a x hello.py 通過 py執行 2.python輸入和輸出類似其他語言 輸出 print hello world 輸入 name i...