Python对象类型判断与函数重载

高洛峰
Freigeben: 2016-10-19 14:57:29
Original
1297 Leute haben es durchsucht

1. 判断对象类型

通过type函数可以知道对象的类型,示例代码如下:

x = 'Hello'
s = type(x)
print s
x = 'Hello'
s = type(x)
print s
Nach dem Login kopieren

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)
Nach dem Login kopieren

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()
Nach dem Login kopieren

   

上面的代码定义了一个函数tracelog,这个函数会把s参数打印出来,s参数可以是字符串或列表,同时还能打印指定长度的横线

其中:isinstance函数就是用来判断对象是否为特定类型的函数,第二个参数就是对象类型,可以通过type函数查询到。


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!