Python【No-6】函数

定义函数

def functionName(paramters):
    function_body
    [return]

调用函数

funcName([paras])

返回值

不管有没有 return 函数都会返回
有 return 时函数返回相应的值
没有 return 时函数返回 None

return None 可以简写为 return

返回多个值

python 函数可以返回多个值
但其本质其实是返回一个多元素的Tuple,因为语法上tuple可以省略括号,所以看起来像返回多个值
如果显式的返回一个list,dict,tuple,set,则是返回值本身

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)

空函数

空函数可以作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

def func():
    pass

参数

参数检查

python解释器会检查参数 个数 ,但不会检查参数 类型
类型检查需要自己做
可以使用内置函数 isinstance(obj,class_of_tuple) 并抛出错误

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

# 添加检查类型
def my_abs(x):
    if not isinstance(x, (int, float)):        # 检查类型
        raise TypeError('bad operand type')    # 抛出错误
    return x if x >= 0 else -x
isinstance()

isinstance(被检查对象,检查类型元组)
isinstance() 接受两个参数,第一个是被检查对象,第二个是要求的类型元组
类型元组中只要有一个被满足,则返回True,反之返回False

默认参数、可变参数和关键字参数

默认参数 =

def funcName( [para1 ... ,] paraN = defaultValue)
当参数的值不确定的时候,就可以使用默认参数

默认参数 para1 = defaultValue 必须放在最后面
当有多个默认参数的情况下,想指定某个默认参数不使用默认,可以将默认参数的形参名带上
默认参数必须指向不变对象!

def power(x,n=2):
    s = 1
    while n > 0:
        s *= x
        n -= 1
    return s

>>> power(5)
25
>>> power(5, 2)
25
>>> power(5, 3)
125

当有多个默认参数的情况下,想指定某个默认参数不使用默认,可以将默认参数的形参名带上

def enroll(name, gender, age=6, city='SWA'):
    print(name)
    print(gender)
    print(age)
    print(city)

>>> enroll('Boii', 'M', 23, 'BJ')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TCP404

老板大方~

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

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

打赏作者

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

抵扣说明:

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

余额充值