1. 程式人生 > >第五篇:函數

第五篇:函數

hello name module 操作 創建 n) 由於 cti most

函數基本操作

一、函數基本概念
1、函數是對程序邏輯進行結構化或過程化的一種編程方法

2、將整塊代碼巧妙地隔離成易於管理的小塊

3、把重復代碼放到函數中而不是進行大量的拷貝,這樣既能節省空間,也有助於保持一致性

4、通常函數都是用於實現某一種功能

二、創建函數

1、函數是用def語句來創建的,語法如下:

def function_name(arguments):
  "function_documentation_string"
  function_body_suite

2、標題行由def關鍵字,函數的名字,以及參數的集合(如果有的話)組成

3、def子句的剩余部分包括了一個雖然可選但是強烈推薦的文檔字串,和必需的函數體

三、調用函數

1、同大多數語言相同,python用一對圓括號調用函數

2、如果沒有加圓括號,只是對函數的引用

>>> def foo():
... print hello
...
>>> foo()
hello
>>> foo
<function foo at 0x7ff2328967d0> 

四、函數的返回值

1、多數情況下,函數並不直接輸出數據,而是向調用者返回值

2、函數的返回值使用return關鍵字

3、沒有return的話,函數默認返回None

>>> def foo():
... res 
= 3 + 4 >>> i = foo() >>> print i None

函數參數

一、定義參數

1、形式參數
1.1 函數定義時,緊跟在函數名後(圓括號內)的參數被稱為形式參數,簡稱形參。由於它不是實際存在變量,所以又稱虛擬變量

2、實際參數
2.1 在主調函數中調用一個函數時,函數名後面括弧中的參數(可以是一個表達式)稱為實際參數,簡稱實參

二、傳遞參數

1、調用函數時,實參的個數需要與形參個數一致

2、實參將依次傳遞給形參

>>> def foo(x, y):
... print 
x=%d, y=%d % (x, y) >>> foo() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: foo() takes exactly 2 arguments (0 given) >>> foo(3) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: foo() takes exactly 2 arguments (1 given) >>> foo(3, 4) x=3, y=4

三、位置參數

1、與shell腳本類似,程序名以及參數都以位置參數的方式傳遞給python程序
2、使用sys模塊的argv列表接收

 

[[email protected] bin]# vim args.py
#!/usr/bin/env python
import sys
print sys.argv
[[email protected] bin]# ./args.py hello world
[./args.py, hello, world]

四、默認參數
1、默認參數就是聲明了默認值的參數
2、因為給參數賦予了默認值,所以在函數調用時,不向該參數傳入值也是允許的

>>> def pstar(num = 30):
... print * * num
...
>>> pstar()
******************************
>>> pstar(40)
****************************************

第五篇:函數