首頁  >  文章  >  後端開發  >  Python物件型別判斷與函數重載

Python物件型別判斷與函數重載

高洛峰
高洛峰原創
2016-10-19 14:57:291344瀏覽

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函數查詢。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn