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关键字
  • 局部变量和全局变量

    • 局部变量:在函数内部定义的变量,只能在函数内部使用。
    • 全局变量:是在函数外部定义的变量,所有函数内部都可以使用这个变量。
相关推荐
CCblandy32 分钟前
前缀缓存命中率不靠引擎靠排列:本机仿真 3 轮,易变字段放开头 98.0%→0.0%
人工智能·python·算法·自然语言处理·性能优化
Sakura_j_h_1 小时前
给 FastAPI 接大模型:超时、重试和 token 成本该怎么管
python·大模型·fastapi·超时重试·token计费
forest_091 小时前
用Python复刻ClaudeDuet:主动式Agent四件套,定时晨报、后台巡检、危险动作审批(附完整可运行代码)
人工智能·python·架构·prompt·agi
小小张说故事1 小时前
Python 的函数调用到底贵在哪?拆开一次 call:51 纳秒栈帧与 *args 的 40 纳秒罚单
python
2401_885885042 小时前
国际语音C#接口怎么写?.NET环境下实现国际语音验证码批量下发
开发语言·c#·.net
程序猿乐锅2 小时前
【从0-1学习Python | 第七篇】Python 面向对象基础
开发语言·笔记·后端·python·学习·1024程序员节
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 查询圈子个人动态:查询我的动态需求分析
java·开发语言·交友
lzqrzpt2 小时前
太阳能控制器选型要点:电路工艺与工程适配技术解析
python·1024程序员节
凯瑟琳.奥古斯特2 小时前
力扣1016高效解法:剪枝优化技巧
开发语言·c++·算法·leetcode·职场和发展
databook3 小时前
时间序列数据中,如何找出缺失值
python·数据分析