在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回,return满足条件就不再执行下面的语句,也可以用print输出。

 

1.定义函数

自定义一个年龄段的判断函数,当输入的年龄大于等于18返回’adult‘,如果输入的值是非×××则返回错误

#!/usr/bin/env python3
# -*- coding: utf-8 -*-#file:def_age
def my_age(x):    if not isinstance(x,(int)):
         raise TypeError('bad operand type')
    elif x>=18:        return ('adult')
    elif x<7:        return ('child')    else:        return ('young')

2.调用自定义函数

有三种调用自定义函数的方法

1.如果自定义函数已经保存成了文件,

>>> from def_age import my_age>>> my_age(20)'adult'>>>

在文件目录下打开编译器,由于自定义函数不是内部函数,需要先导入函数,注意def_age不需要带后缀.py

2.在代码内部给定值调用

#!/usr/bin/env python3
# -*- coding: utf-8 -*-#file:def_age
def my_age(x):    if not isinstance(x,(int)):
         raise TypeError('bad operand type')
    elif x>=18:        return ('adult')
    elif x<7:        return ('child')    else:        return ('young')

print(my_age(22))

不需要先导入函数,直接执行文件即可,但是这种方法不够灵活。

3.在代码内部先定义变量再调用函数

#!/usr/bin/env python3
# -*- coding: utf-8 -*-#file:def_age
def my_age(x):    if not isinstance(x,(int)):
         raise TypeError('bad operand type')
    elif x>=18:        return ('adult')
    elif x<7:        return ('child')    else:        return ('young')
age=22my_age(age)

同样这种方法不够灵活

3.创建空函数 

 空函数也就是函数不包含执行代码,用pass作为代码块,pass代码什么都不做;有时候某块代码还没想好怎么写有为了不影响整个代码的运行,可以先存pass让代码先跑起来。

def my_dinf():
    pass

pass还可以放在其它代码中,比如:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-#file:def_age
def my_age(x):    if not isinstance(x,(int)):
         raise TypeError('bad operand type')
    elif x>=18:
        pass
    elif x<7:        return ('child')    else:        return ('young')
age=22print (my_age(age))

还是刚才的年龄段判断函数,现在在elif x>=18:代码块下面使用pass,当满足该条件后什么都不做,整个代码正常执行。