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

1. 判断对象类型

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

1

2

3

4

5

6

x= 'Hello'

s= type(x)

print s

x= 'Hello'

s= type(x)

print s

2. 函数重载

在写函数时,时常遇到需要应付不同的参数类型以及不同的参数数量的情况。

在C++中,通常定义多个“同名不同参”的函数来重载搞定,

但Python中的重载可以用另外的方法实现:参数类型判断+默认值

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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 xin s:

            s1= s1+ ' ' + x

        print s1

   

def main():

    tracelog(n=50)

    tracelog(sys.argv)

    tracelog(n=20)

   

main()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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 xin s:

            s1= s1+ ' ' + x

        print s1

  

def main():

    tracelog(n=50)

    tracelog(sys.argv)

    tracelog(n=20)

main()

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

LHStudio感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值