python函数

一.函数定义

        使用def关键字告诉python你要定义一个函数。

格式:

def function(形参):
    代码
    return 返回值

例子:

 二.函数参数

        2.1 实参和形参

        实参会通过函数调用,传递给形参。

         形参是实参的一份拷贝,但是采用的是写时拷贝技术,在未修改时,形参实参共用一处空间,在修改形参时,形参会另外开辟空间,将修改的值填进去。

         2.2 传递实参

  • 位置实参

        在函数调用时,实参位置和形参的位置顺序一一对应,对应实参会传递到对应位置的形参中。

  • 关键字实参

        在函数调用时,指明对应形参的值。这样无需考虑调用实参顺序问题。

  •  默认值

        在编写函数时可以给函数形参指定默认值,当没有传递该形参参数时,使用默认值。等号两边不能有空格。

        注意:指定默认值的形参必须放在形参开头(从右往左放)。

  •  传递列表作为参数

        在python中列表进行赋值,实际两变量共用一块空间。修改任意变量,两个变量得知都会被修改。

        列表作为参数时,实参赋值给形参,形参实际时实参的引用。形参和实参共用一块空间,修改形参,实参也会被修改。

         如果想形参是实参的一份拷贝,可以使用切片作为实参赋值给形参。

        注意:不光是列表,还有字典也是这种情况。

  • 传递任意数量的实参

        可以在函数形参前加一个*,python会自动创建一个空元组,将接收到的实参封装到元组中。

        在函数形参前加两个*时,python会自动创建一个空字典,将接收到的实参封装到字典中。

        2.3 多返回值

        python中的函数可以返回多个值 ,返回值用变量按顺序接收即可。

        像下面:return多个变量就实现了函数返回多个值。可以用一个变量接收,该变量是一个元组,也可以使用多个变量接收,按顺序为对应的值。

         2.4 函数作为参数传递

        计算逻辑的传递,而非数据的传递。

         2.5 匿名函数lambda

         函数定义有两种方式:

1. 使用def关键字,有名称,可以基于名称重复调用。

2. 使用lambda关键字,可以定义匿名函数(无名称),只可临时使用一次。

语法:lambda 传入参数: 函数体(一行代码)

不需要加return,因为lambda定义的函数是直接将结果return的。

 三.模块

        模块是一个独立的文件,我们可以将函数存储在模块中,再通过import关键字将模块导入到主程序中。模块导入后允许当前运行的程序文件中使用模块中的代码。

        通过将函数存储再一个独立的文件中,可以隐藏程序代码的实现细节,把重点放在程序的逻辑上。还可以在不同的程序中重用模块中的函数。

        知道如何导入函数还能让你使用其他程序员编写的函数库。

        3.1 导入整个模块

         要让函数是可导入的,首先得创建一个模块。模块是扩展名为.py的文件,包含要导入到程序中的代码。

'''导入整个模块'''
import module

'''使用模块中的函数,使用模块名点(.)函数名来使用'''
module.function_name()

        import pizza会让Python打开pizza.py文件,将其中的所有函数都复制到调用文件中。

        3.2 导入特定的函数

'''导入特定的函数,多个函数使用逗号隔开'''
from module import function_name

'''使用时不需要加句号,因为python已经显示的导入了函数'''
function_name()

         3.3 使用as指定别名

        当模块中的函数和当前文件中的函数有重名或者模块函数名/模块名太长时,可以使用as关键字来对模块或者函数指定别名。

  • 给模块指定别名

  •  给函数指定别名

         3.4 导入模块中的所有函数

        使用星号(*)运算符可以让Python导入模块中的所有函数。

         import 语句中的星号让Python将模块 pizza 中的每个函数都复制到这个程序文件中。由于导入了每个函数,可通过名称来调用每个函数,而无需使用句点表示法。

        然而,使用并非自己编写的大型模块时,最好不要采用这种导入方法如果模块中有函数的名称与你的项目中使用的名称相同,可能导致意想不到的结果:Python可能遇到多个名称相同的函数或变量,进而覆盖函数,而不是分别导入所有的函数。

        最佳的做法是,要么只导入你需要使用的函数,要么导入整个模块并使用句点表示法。这能
让代码更清晰,更容易阅读和理解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值