1. 判斷物件類型
透過type函數可以知道物件的類型,範例程式碼如下:
x = 'Hello' s = type(x) print s x = 'Hello' s = type(x) print s
2. 函數需要重載
在寫函數時,時常遇到不同的參數不同的參數數量的情況。
在C++中,通常定義多個「同名不同參」的函數來重載搞定,
但Python中的重載可以用另外的方法實現:參數類型判斷+預設值
import os, sys def tracelog(s='', n=40): if isinstance(n, int): print '-'*n else: print '-'*40 if isinstance(s, str): print s elif isinstance(s, list): s1 = '' for x in s: s1 = s1 + ' ' + x print s1 def main(): tracelog(n=50) tracelog(sys.argv) tracelog(n=20)
main( )
import os, sys def tracelog(s='', n=40): if isinstance(n, int): print '-'*n else: print '-'*40 if isinstance(s, str): print s elif isinstance(s, list): s1 = '' for x in s: s1 = s1 + ' ' + x print s1 def main(): tracelog(n=50) tracelog(sys.argv) tracelog(n=20) main()
上面的程式碼定義了一個函數tracelog,這個函數會把s參數列印出來,s參數可以是字串或列表,同時還能列印指定長度的橫線
其中:isinstance函數就是用來判斷物件是否為特定類型的函數,第二個參數就是物件類型,可以透過type函數查詢。