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

    • 局部变量:在函数内部定义的变量,只能在函数内部使用。
    • 全局变量:是在函数外部定义的变量,所有函数内部都可以使用这个变量。
相关推荐
weixin_468466858 小时前
遗传算法求解TSP旅行商问题python代码实战
python·算法·算法优化·遗传算法·旅行商问题·智能优化·np问题
fire-flyer8 小时前
设计模式之观察者模式
java·开发语言
咬_咬9 小时前
C++仿muduo库高并发服务器项目:Poller模块
服务器·开发语言·c++·epoll·muduo
Nina_7179 小时前
pytorch核心组件以及流程
人工智能·pytorch·python
Highcharts.js9 小时前
在Python中配置高度交互的数据可视化:Highcharts完全指南
开发语言·python·信息可视化·highcharts
小生凡一9 小时前
图解|Go语言实现 Agent|LLM+MCP+RAG
开发语言·后端·golang
思茂信息9 小时前
CST电动车EMC仿真(二)——电机控制器MCU的EMC仿真
开发语言·javascript·单片机·嵌入式硬件·cst·电磁仿真
Ace_31750887769 小时前
京东关键字搜索接口逆向:从动态签名破解到分布式请求调度
分布式·python
开始了码10 小时前
关于qt运行程序点击几下未响应的原因
开发语言·qt
QT 小鲜肉10 小时前
【QT/C++】Qt样式设置之CSS知识(系统性概括)
linux·开发语言·css·c++·笔记·qt