函数,内置

时间:2019-11-05
本文章向大家介绍函数,内置,主要包括函数,内置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

内置函数

数据类型转换

函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”:

a = abs # 变量a指向abs函数
a(-1) # 所以也可以通过a调用abs函数
1

自定义函数

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

# -*- coding: utf-8 -*-
def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x
    
my_abs(-3)  

空函数

定义一个什么事也不做的空函数,可以用pass语句:
pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来

def nop():
    pass

pass还可以用在其他语句里,比如

if age >= 18:
    pass

参数检查

调用函数时,如果参数个数不对,Python解释器会自动检查出来,并抛出TypeError
如果参数类型不对,Python解释器就无法帮我们检查。试试my_abs和内置函数abs的差别
当传入了不恰当的参数时,内置函数abs会检查出参数错误
my_abs的定义,对参数类型做检查,只允许整数和浮点数类型的参数。数据类型检查可以用内置函数isinstance()实现:

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

如果参数类型不对,抛出异常

返回多个值

函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动return None。
函数可以同时返回多个值,但其实就是一个tuple。
在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值

import math

def move(x, y, step, angle=0):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny

>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print(x, y)
151.96152422706632 70.0

>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)

函数的参数

https://www.liaoxuefeng.com/wiki/1016959663602400/1017261630425888

原文地址:https://www.cnblogs.com/g2thend/p/11797890.html