Python3.6基礎知識 函式【四】
阿新 • • 發佈:2018-12-15
函式
函式是一個特定功能的結構,屬於程式碼組的一種
函式的特徵
- 函式的定義必須使用def關鍵字
- 函式的命名規則
- 不允許使用中文,儘量使用英文
- 可以包含數字,但是不能以數字開頭
- 不可以使用特殊符號,_除外
- 函式名嚴格區分大小寫
- 函式名不要與關鍵字衝突
- 函式名要見其名知其意
- 函式不被呼叫不被執行
函式的定義
定義函式的規則
- def關鍵字開頭 ,後跟一個空格
- 函式名後接括號,括號內可有引數可無引數,括號後接冒號
- 函式內所有程式碼縮排
如下函式
def printName() :
print('定義了一個函式')
print('王小兒')
這需要呼叫才會執行
函式的引數
引數的分類
- 普通引數
- 定義的時候直接定義變數名,也就是形參名
- 呼叫的時候直接把變數名與值按位置一一對應放入即可,不傳引數是不合法的
- 預設引數
- 形參帶有預設值
- 呼叫的時候如果沒有傳入值,則使用預設值
- 關鍵字引數
- 收集引數
def hello(name) :
print('{0},你怎麼了'.format(name))
def helloMan(name='王二'):
print('{0},早上好啊'.format(name))
這裡的引數還可以有多個,這裡就不一一演示了
引數這節後續更新
函式的返回值
Python中也是使用return這個關鍵字作為函式的返回的,但是這裡的函式不像Java或者其它語言,需要在定義函式的時候在方法名前面定義好返回值型別;Python中直接像上面那樣定義方法,然後需要返回就直接return就行了
def helloMen(persion):
return '{0},你怎麼不理我啊{1}'.format(persion,persion)
注意:這裡如果我們沒有return,那這裡的result是None,也就是說函式中沒有return的話,也會返回一個值,只不過是None
檢視函式文件
比我我們想檢視print函式的官方解釋,也就是函式文件了,怎麼辦呢,如下
help(print)
就是使用help函式,然後把函式名作為引數傳進去
看看打印出來的結果
Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.
我們重點看第三局
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
第一個value也就是我們傳的引數, 後面的…就是表示可以傳多個引數, 再後面的sep=’ ‘,看下面的解釋,說處於兩個引數之前的string,也就是以這個分割多個引數,預設是空格 再後面的end=’\n’,也就是以什麼結束,預設是\n,這個轉義字元,意思就是換行;多個引數並不會在同一行打印出來
我們接下來用一個九九乘法表舉例
for row in range(1,10):
for col in range(1,row+1):
if col == 1 :
print('第{0}行'.format(row),col * row,sep=' ',end=' ')
else :
print(col * row,end=' ')
print('----')
看看執行結果
自定義函式文件
假如我們要對自己定義的函式寫函式文件怎麼辦呢?
方法:在函式內部開始的第一行使用字串定義文字內容即可或者使用… …將內容包括起來