从0学python-------函数模块

本文详细介绍了Python函数的使用,包括查看函数帮助信息、空函数的占位、参数验证、返回多个值、导入math模块、默认参数、可变参数、关键字参数和命名关键字参数的使用。强调了默认参数必须指向不变对象,以及如何利用可变参数和关键字参数进行灵活的函数定义。同时,文章提供了函数参数组合使用的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >





if __name__ == '__main__':

    """
    python可以通过help(abs)查看abs函数的帮助信息
    在函数中,pass关键字,也是空函数的重要点,主要是用来占位,这样子就不会让代码报错,相当于try一样
    >>>def nop()
    >>>     pass
    这个函数就成为空函数,目前还没有想到里面的逻辑怎么写,但是可以先写出来占位就行
    =======自己定义函数时,可以考虑增加验证参数类型的if判断
    验证参数的API isinstance(参数,(类型名))
        >>>def abs(i):
        >>>     if not isinstance(i,(int,float)):
        >>>         raise TypeError('输入参数有问题')
        >>>     if i > 5:
        >>>         return '你输入的数太大了'
    =======在python中,函数可以返回多个值,
    >>> return x, y
    
    =======如果使用数学函数,import math 数据函数包
    
    =======但是在返回上,要记住可能会返回一个tuple,但是在语法上返回一个tuple可以省略括号,
    =======而多个变量可以同时接收一个tuple,按位置赋给对应的值,
    
    =======python的函数定义非常简单,但灵活度非常大,除了正常定义的
    ==必选参数外,
    ==还可以使用默认参数,可变参数和关键字参数,
    =======使的函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码
    
    ===对于默认参数而言:需要注意以下几点
    ==1、必选参数在前,默认参数在后,否则python的解释器会报错,
    ==2、如何设置默认参数呢
    ===当函数有多个参数时,把变化大的参数放在前面,变化小的参数放后面,变化小的参数就可以作为默认参数
    ===使用默认参数,最大的好处时能降低函数的难度
    ========必须记住,默认参数必须只想不变对象
    
    ===为什么要设计str,None这样的不变对象呢,因为不变对象一旦创建,对象内部的数据就不能修改,这样子就减少了由于修改数据导致的错误,
    ===此外,由于对象不变,多任务环境下同时读取对象不需要加锁,同时读一点问题都没有,
    ===如果可以设计一个不变对象,那就尽量设计成不变对象
    
    ========可变参数
    可变参数可以先把参数组装成一个list或者tuple
    在python中,如果你当前的参数是可变参数(list,tuple),可以在list或者tuple前面加上一个*号,
    这表示你当前把list或者tuple的全部元素传进去,
    >>>fun(*list_name) 表示把这个list的所有元素作为可变参数传进去,这种写法相当有用,而且很常见
    
    ========关键字参数
    可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple或者list,
    关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict,
    可变参数书写格式-------fun(*list_name)
    关键字参数书写格式-----fun(**dict_name)
    **dict_name 表示把dict_name的所有key-value用关键字参数传入到fun中,而dict_name将获得一个dict,注意dict_name是dict的一份拷贝
    对dict的改动不会影响函数外的dict
    
    ========命名关键字参数
    对于关键字参数,函数调用者可以 传入任意不受限制的关键字参数,至于到底传入那些,就需要在函数内部通过dict_name检查
    如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接受city和job作为关键字参数,
    >>>def person(name, age, *, city, job):
    >>>     print(name, age, city, job)
    和关键字参数不同,命名关键字参数需要一个特殊分割符*,   *后面的参数被视为命名关键字参数
    
    ========参数组合
    在python中定义函数,可以用必选参数,默认参数,可变参数和命名参数,关键字参数
    这5中参数都可以组合使用,但是请注意,参数定义的顺序必须是:必选参数,默认参数,可变参数,命名关键字和关键字参数
    
    """
    def abs(i):
        if not isinstance(i,(int,float)):
            raise TypeError('输入参数有问题')
        if i > 5:
            return '你输入的数太大了'

    print(abs(9))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值