Python基础学习(四)

文章目录

函数

函数的定义

  • 将一件事情的步骤封装到一起并得到最终的结果
  • 函数名代表了这个函数要做的事情
  • 函数体是实现函数功能的流程
  • 方法或功能
  • 函数可以帮助我们重复使用,通过函数名我们可以指知道函数的作用

函数的分类

  • 内置函数:print、id、int、str、max、min、range
  • 自定义函数

通过关键字def创建函数

格式:

python 复制代码
 def name(args...):
		todo
		返回值
python 复制代码
def hellow_world():
    print('hello world')

if __name__ == '__main__':
    hellow_world()

函数结果的返回--return

  • 将函数结果返回的关键字
  • return只能再函数体内使用

函数传参

必传参数

在定义函数的时候,没有默认值且必须在函数执行的时候传递进去的参数,且顺序与参数顺序相同,就是必传参数

  • 函数中定义的参数没有默认值,在调用函数时如果不传则报错
  • 在定义函数时,参数后边没有等号与默认值
默认参数
  • 在定义函数的时候,定义的参数含有默认值,通过赋值语句给他一个默认的值
  • 如果默认参数在调用的时候给与了新的值,函数将优先使用后传入的值进行工作,即:调用此函数时传入的值
不确定参数--可变参数
  • 没有固定的参数名和数量
  • *args代表:将无参数道的值合并成元组
  • **kwargs代表将有参数与默认值的赋值语句合并成字典
参数规则
  • 参数的定义从左到右依次是必传参数、默认参数、可变参数、可变字典参数
  • 函数的参数传递非常灵活
  • 必传参数与默认参数的传参多样化
函数的参数类型定义

全局变量和局部变量

全局变量
  • 在python脚本中最上层代码块的变量
  • 全局变量可以在函数中使用,但是无法修改
局部变量
  • 只能函数内使用

    全局变量如何在局部进行修改
  • 使用global关键字,先声明此变量为全局变量,然后在函数中就可以进行修改了
  • 局部使用字典、列表类型不需要global关键字

递归函数

什么是递归函数

一个函数不停的将自己反复执行

python 复制代码
# coding:utf-8

count = 0

def test ():
    global count
    count += 1
    if count != 10:
        print(count)
        return test()
    else:
        print(count)

test()

执行结果

python 复制代码
1
2
3
4
5
6
7
8
9
10
递归说明
  • 内存溢出,会导致服务器崩溃,一定要有退出条件

匿名函数 lambda

lambda功能
  • 定义一个轻量化的函数
  • 即用即删除,适合需要完成一项功能,但是此功能只在此一处使用
匿名函数的定义方法

执行结果:

相关推荐
用户0332126663675 分钟前
Python 实用技巧:从零自主生成结构化 PDF 页面
python
benchmark_cc7 分钟前
前复权数据每天可能变化,历史数据库应该覆盖还是保留原始价格?
大数据·python·pandas·量化交易·股票数据·quantdash
计算机编程指导师20 分钟前
计算机毕设选题推荐:Hadoop大数据下的个体肥胖健康风险评估与可视化系统源码 毕业设计 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·肥胖健康风险
code2cat24 分钟前
【随笔】MCP输入Schema:把参数错误拦在工具执行之前
python·json schema·ai agent·mcp
一条泥憨鱼27 分钟前
【从0开始学习计算机网络】| ARP 协议:地址解析,ARP 欺骗,链路层寻址
网络·后端·学习·计算机网络
余醉 | dtminer29 分钟前
56%的保护效应藏在乳腺密度里:Nat Commun 高分中介孟德尔随机化全 R 管线拆解(附核心图)
开发语言·r语言·孟德尔随机化
2501_9339232531 分钟前
SpringCloud组件:Eureka服务注册与发现
java·开发语言·后端·spring cloud·eureka
计算机编程指导师35 分钟前
Python大数据毕设怎么写?Django结合Hadoop+Spark京东销售分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·京东商品
合尘猫41 分钟前
AI 项目上线就停:一次事件循环阻塞的完整排查过程
人工智能·后端·python
染指11101 小时前
142.Agent-多Agent框架-通过Skills实现多Agent
开发语言·人工智能·python·langchain·agents