Python零基础从小白打怪升级中~~~~~~~Python中的函数

第六节:Python的函数

一、函数的定义

函数是组织好的,可重复使用的,用来实现相关功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。我们也可以自己创建函数,这被叫做用户自定义函数。

1 定义函数

python 复制代码
def 函数名(参数):
    代码1
    代码2
    ......

2 调用函数

python 复制代码
函数名(参数)

注意:

复制代码
1. 不同的需求,参数可有可无。
2. 在Python中,函数必须:先定义后使用。

二、函数中的参数

1、必要传参,也叫位置参数

定义函数时,根据需求必需要传递的参数, 而且,在调用函数时根据函数定义的参数位置顺序来传递参数。

注意:传递和定义参数的顺序及个数必须一致。

2、关键字传参

函数调用,通过"键=值"形式加以指定。可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求。

注意: 函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序。

3、默认传参

用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)。

4、不定长传参

不定长参数也叫可变参数。用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。此时,来进行参数传递,会显得非常方便。

  1. 不定长普通参数
  2. 不定长关键字参数

三、函数的返回值

return 语句用于返回函数的值,并且退出函数,选择性地使用return 语句, 默认是返回 None

  1. return a, b写法,返回多个数据的时候,默认是元组类型。
  2. return后面可以连接列表、元组或字典,以返回多个值。

四、局部变量和全局变量

1、局部变量

就是在函数内部定义的变量;其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的;

因为其作用范围只是在自己的函数内部,所以不同的函数可以定义相同名字的局部变量

当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了

2、全局变量

全局变量和局部变量的区别在于定义在函数的外面,全局变量在整个py文件中声明,全局范围内可以使用;

注意: 当函数内出现局部变量和全局变量相同名字时,函数内部中的 变量名 = 数据 ,此时理解为定义了一个局部变量,而不是修改全局变量的值。如果要修改全局变量,必须使用global。

五、总结

  • 函数的定义:可重复使用的,用来实现某个功能的代码段。

  • 函数使用

    • 定义函数

      def 函数名():
      代码1
      代码2
      ...

    • 调用函数

      函数名()

  • 函数的参数:

    • 必要传参
    • 默认传参
    • 关键字传参
    • 不定长传参
  • 函数的返回值

    • 作用:函数调用后,返回需要的计算结果
    • return关键字
  • 局部变量和全局变量

    • 局部变量:在函数内部定义的变量,只能在函数内部使用。
    • 全局变量:是在函数外部定义的变量,所有函数内部都可以使用这个变量。
相关推荐
郝学胜-神的一滴18 分钟前
Effective Python 条款 10 :海象运算符_=
开发语言·python·程序人生·开源
wuyk55520 分钟前
Python零基础入门第十四章:异常处理(try-except)
开发语言·python
2601_9620781922 分钟前
Appium+Python+pytest自动化测试框架详解
自动化测试·python·appium·pytest·移动应用
wuyk55525 分钟前
【Socket 进阶之路】第 3 章 TCP 三次握手 & 四次挥手深度剖析|连接建立、断开、状态机、TIME_WAIT 核心工程问题
服务器·开发语言·网络·物联网·网络协议·tcp/ip
卷无止境4 小时前
智能体开发环境ADE浅析,编程工具的下一次范式跃迁
后端·python
彧azz6 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
嵌入式学习菌7 小时前
Modbus‑RTU 数据类型分析
开发语言·单片机·bug
matlab代码7 小时前
基于matlab数字图像处理的指纹识别系统【源码68期】
开发语言·matlab
2601_962300818 小时前
机器学习贴士:使用Python编写MapReduce
hadoop·python·机器学习·mapreduce·数据处理
matlab代码8 小时前
基于matlab的水果识别系统(苹果香蕉菠萝梨桃子)【源码65期】
开发语言·matlab