python 函数定义和内置函数isinstance以及数据类型检查type的使用

参考:

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00137473843313062a8b0e7c19b40aa8f31bdc4db5f6498000


#################################################


Python定义函数使用def,然后依次写出函数名/括号/括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return 语句

python 函数定义和内置函数isinstance以及数据类型检查type的使用_第1张图片


如果没有return语句,函数执行完毕后也会返回结果,只是结果为None

return None可以简写为return


######################################################3


空函数

如果想定义一个空函数,可以使用pass语句:

def hello(x, y, c):
     pass

pass可以用来作为占位符,比如现在没有想好如何写函数代码,可以先使用pass占位

pass也可使用在其他语句中:

if age>31
    pass

python 函数定义和内置函数isinstance以及数据类型检查type的使用_第2张图片


###################################################


参数检查

调用python内置函数时,如果参数个数不对或参数类型不对,python解释器会自动检查出来;

而调用自己写的函数时,python可以检查出参数个数不对,但不能检查出参数类型:

def my_abs(x):
    if x>=0:
         return x
    else:
         return -x

my_abs(1,2)
my_abs('A')

abs(1,2)
abs('A')

python 函数定义和内置函数isinstance以及数据类型检查type的使用_第3张图片


数据类型检查可以使用内置函数isinstance()实现

def my_abs(x):
     if not isinstance(x, (int, float)):
        raise  TypeError('bad operand type')
     if x>=0:
        return x
     else:
         return -x


my_abs('A')

python 函数定义和内置函数isinstance以及数据类型检查type的使用_第4张图片


isinstance(object, class-or-type-or-tuple) ->bool

内置函数isinstance有两个参数,第一个参数是待检测的对象,第二个参数是对象类型,可以是单个类型,也可以是元组,返回的bool类型

如果待检测对象属于第二个参数,则返回True;否则,返回False

python 函数定义和内置函数isinstance以及数据类型检查type的使用_第5张图片


#################################################


返回多个值


python函数可以返回多个值

def hello():
     return 1,2,3,'asdf'

x,y,z,f=hello()

python 函数定义和内置函数isinstance以及数据类型检查type的使用_第6张图片

其实Python函数返回的仍然是单一值,一个tuple

python 函数定义和内置函数isinstance以及数据类型检查type的使用_第7张图片


########################################################


type:

有时不知道该对象是啥类型,可以使用type来判断:

type(ord)

对象ord是内建函数,所以可以使用help(ord)查看该函数含义


#读入OpenCV模块
import cv2
#读入图像
im=cv2.imread('result.jpg')
#判断图像类型
type(im)

python 函数定义和内置函数isinstance以及数据类型检查type的使用_第8张图片


你可能感兴趣的:(python)