天天看点

python函数

Python内置了很多有用的函数,我们可以直接调用。

要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数

abs

,只有一个参数。可以直接从Python的官方网站查看文档:

官方文档:

http://docs.python.org/3/library/functions.html#abs 比如求绝对值的函数abs:

#abs绝对值函数
print(abs(-12))
》12      

常用的方法:

#一些常用的方法
#range整数数组
print(list(range(2,11)))
》[2, 3, 4, 5, 6, 7, 8, 9, 10]

#int整数转换
print(int(-989.222))
》-989

#max最大值
print(max(1,3,44,2,))
》44

#hex十六进制转换
print(hex(256))
》0x100      

定义函数

使用def ,依次写函数名,参数,冒号:,在缩进块中编写函数体,使用return语句返回值

#def定义方法
def my_abs(x):
    if x>0:
        print(x)
    else:
        print(-x)
#调用函数
my_abs(-222)
》222      

调用方法:

在其他文件中调用这个function文件的my_abs方法

#导入方法:from 文件名 import 方法名
from function import my_abs
my_abs(-121)
》121      

注意:这里会先加载function文件,如果这个文件中有方法的话,会直接执行,但是多次加载文件也只会执行一次。

pass语句

#pass 这个语句什么都不做,可以用来做为占位符
#比如现在没有想好的代码可以先放一个pass,让代码运行起来
def nop():
    print('可以先放一个pass,让代码运行起来')
    pass
    print('pass')

nop()      

异常处理

#异常处理 raise TypeError()
def my_abs(x):
    if not isinstance(x,(int,float)):
        raise TypeError('bad operand type')
    if x>0:
        print(x)
    else:
        print(-x)

my_abs('2')
》TypeError: bad operand type      

返回值

我们可以同时获得返回值,但是这点其实是一种假象,python函数返回的仍然是单一值

原来返回值是一个tuple!,但是语法返回一个tuple可以省略括号,而多个变量可以同时接受一个tuple,按位置赋值。

#返回值 为了使用sin和cos,需导入math包
import math
def move(x,y,step,angle=0):
    nx=x+step*math.sin(angle)
    ny=y-step*math.cos(angle)
    return nx,ny

x,y=move(100,100,5)
print(x,y)
》100.0 95.0

z=move(100,100,5,math.pi/2)
print(z)
》(105.0, 100.0)      

总结

定义函数,需确定函数名和参数个数

如果有必要,可以先对参数的数据类型做检查

函数体内可以用return随时返回函数结果

函数执行完毕没有return语句自动return None

函数可以同时返回多个值,但是其实就是一个tuple