从零开始 - Python基础 (五)-----函数

1.函数的作用

  • 对某块功能的代码的封装
  • 提高代码的复用性(重用性)
  • 大大的提高了开发效率

2.函数定义和调用

  • 定义

    def 函数名():
    		pass
    
  • 调用

    函数名()
    
  • 注意:

    • 函数是一次定义, 多次调用
    • 如果函数名相同, 后面的会覆盖前面的同名函数

3.函数参数(一)

  • 作用:进一步的提高了一个没有参数函数的复用性

  • 定义格式:

    • 形参: 形式参数(有多少个, 看需求)
    def 函数名(形参1, 形参2, ...):
    		pass
    
  • 调用格式:

    • 实参: 实际参数(有多少个, 看形参)
    函数名(实参1, 实参2, ...)
    

4.函数返回值(一)

  • 作用: 把函数的内部的数据抛到函数的外部途径

  • 定义格式:

    def 函数名(形参1, 形参2, ...):
    		代码逻辑
        return 数值
    
  • 调用格式:

    变量名 = 函数名(实参1, 实参2, ...)
    
  • 参数: 函数外部数据传递到函数内部

  • 返回值: 函数内部的数据抛到函数的外部

5.函数的文档说明

  • 解释说明代码 -> 注释
  • 解释说明函数 -> 函数的文档说明
  • 查看函数的文档说明
    • ctrl + q
    • help(函数名)

6.函数的嵌套调用

  • 概念: 在一个函数内部调用了另一个函数
  • 结论:
    • 什么时候标识着函数调用完成?
      • 被调用的函数的内部代码执行完成

7.局部变量

  • 概念: 定义在函数内部的变量
  • 作用域: 只能在自己的函数内部使用

8.全局变量

  • 概念: 定义在函数外部的变量

  • 作用域:在整个模块内部

  • 总结:

    • 默认情况下, 如果函数内部的变量和函数外部的变量同名, 不是一个变量一个是全局, 一个是局部

    • 如果想利用函数修改全局变量的值

      def func():
        	global 全局变量名
      
    • 如果在函数内部使用一个变量(顺序):

      • 首先在函数内部找局部变量
      • 然后在函数外部的全局变量

9.局部和全局变量总结

  • 局部变量:

    • 开辟内存空间, 保存数据
    • 函数内部没有可执行代码, 局部变量就被销毁, 内存回收
  • 全局变量:

    • 开辟内存空间, 保存数据
    • 整个程序没有可执行的代码, 程序将退出, 全局变量销毁, 内存回收

10.多个return

  • 作用:

    • 如果函数内部出现了return 数值, 标识着是一个有返回值的函数
    • 如果执行了return, 函数的调用就会提前结束(参考break记忆)
  • 注意:

    • 即使函数内部有return 只要有一个执行, 其他的将不再执行

11.函数调用方式总结

  • 位置参数

    • 实参和形参个数要统一
    • 位置要一一对应
  • 关键字参数

    • 只需要书写正确的形参名字
  • 扩展:

    • 如果一个函数只能使用关键字参数调用格式:
    def func(*, 形参1, 形参2, ...):
      	pass
    

12.缺省参数

  • 概念:如果一个函数有参数, 而且这个参数设置了默认值, 称为缺省参数

  • 格式:

    def 函数名(形参1, 形参2=数值):
      	pass
    
  • 调用函数:

    • 如果缺省参数位置没有传入实参

      • 使用默认值
    • 如果缺省参数位置传入实参

      • 实参会把默认值修改掉
      • 下次在调用该函数的时候, 缺省参数还是默认值
  • 作用:

    • 简化了函数的调用
  • 作用:

    • 如果一个函数 有缺省参数, 那么缺省参数后面必须也是缺省参数

13.不定长参数

  • 元组

    • 格式:

      def func(*args):
        	pass
      
    • 特点:

      • 调用函数的时候不知道传入多少个实参
      • 位置参数调用函数
      • 函数内部使用下标索引获取实参的数据
  • 字典

    • 格式:

      def func(**kwargs):
        	pass
      
    • 特点:

      • 调用函数的时候不知道传入多少个实参
      • 关键字参数调用函数
      • 函数内部通过key获取实参的数据
  • 共同点:

    • 缺省参数
      • 空的元组
      • 空的字典
  • 注意:

     元组
     def func(*args):
         print(args)
    
     
    my_list = [1, 2, 3]
    func(*my_list)
    
    字典
    def func(**kwargs):
       print(kwargs)
    
    my_dict = {'name': 'xm', 'age': 20}
    func(**my_dict)
    
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值