当前位置: 首页 > news >正文

2024-10-16 学习人工智能的Day8

函数
    定义(创建)
    函数的创建def开始,后接函数名,在给参数表最后冒号表示函数基础信息给定
    换行书写函数内部定义,在函数内部定义操作,最后函数自带返回,无定义返回值返回为None,有定义则返回为定义的返回表达式输出的值
    
    形参
        1. 默认参数,
        2.*args,列表传参
        3.**args字典传参

调用
函数名()即可调用
    实参
        1.位置 依次按顺序传参
        2.星号序列传参 (*序列) 元组 列表 拆分 按照位置依次传给函数
        3.关键字 a=1,b=2
        4.星号字典传参(**字典)

返回值:在函数体内始终自带一个return,可以不定义,不定义输出None,可以定义,定义后输出为定义表达式


匿名函数:lambda函数,主要作用是简写函数调用表达式
函数名不可调用 简洁  变量 lambda参数 :表达式(return) 变量(2,3)
例子:lambda x,y: x+y
代替def plus(x,y)
    return x+y


        变量作用域:变量作用域由变量的位置决定,如果变量为全局变量,在函数体内没有声明该同名变量时调用此变量
则就是调用该全局变量,如果是声明了该变量名并将他重新赋值,则该改变根据数据的类型决定作用域,不变则直接
只做作用域本函数域,但是在最后会被直接删除,可变则作用域全局域,

        内存分配:内存分配原理与改变拷贝类型的元素结果类似,在函数体中无声明的修改不可变值类似于numbers或者tuple这种,不会对原数据造成影响,只在函数作用域内生效,退出函数则删除指针
注意此处因不可变,所以变化的为指针。而可变元素就能够直接别函数内的操作影响,因为指针始终指向存放可变元素的内存空间。
类似于在tuple嵌套中无法改变其中int类型元素的值,但是能够改变其嵌套的列表类型中的元素

        LEGB L函数内部 E嵌套函数 G全局变量  B 内置
        global a 声明
        a = 1
        nonlocal a 
        a = 2

        递归调用:递归调用主要是有递归边界,递归规则构成,特点是会将将自身带入运算
def digui(x):
    if x==1:
    return x=1
    
    else
    sum = x*digui(x-1)
    return sum
digui(10)
        这个程序就是经典的递归,把x=1作为结束点。

http://www.lryc.cn/news/461268.html

相关文章:

  • Python Django 数据库优化与性能调优
  • 基于SpringBoot+微信小程序的农产品销售平台
  • 微前端学习以及分享
  • 【Linux-进程间通信】vscode使用通信引入匿名管道引入
  • nerd bug:VPG多次计算vnetloss的计算图报错的解决
  • BigDecimal类Date类JDK8日期
  • MybatisWebApp
  • 第十五章 RabbitMQ延迟消息之延迟插件
  • OpenAI 公布了其新 o1 模型家族的元提示(meta-prompt)
  • Java基础14-网络编程
  • sed命令详解
  • Linux高阶——1013—正则表达式练习
  • 【CMake】为可执行程序或静态库添加 Qt 资源文件,静态库不生效问题
  • 服务器、jvm、数据库的CPU飙高怎么处理
  • 自适应过滤法—初级
  • UML图有用吗?真正厉害的软件开发,有用的吗?什么角色用?
  • 基于Java+Springboot+Vue开发的酒店客房预订管理系统
  • OpenCV高级图形用户界面(5)获取指定滑动条(trackbar)的当前位置函数getTrackbarPos()的使用
  • 拓扑排序在实际开发中的应用
  • 【CTF-SHOW】Web入门 Web27-身份证日期爆破 【关于bp intruder使用--详记录】
  • Windows 添加右键以管理员身份运行 PowerShell
  • 数学建模算法与应用 第15章 预测方法
  • HC32F460KETA PETB JATA 工业 自动化 电机
  • linux系统,不定时kernel bug :soft lockup的问题
  • 【C语言教程】【常用类库】(十四)可移植库 - <unistd.h> 和 <sys/types.h>
  • Java项目实战II基于Spring Boot的周边游平台设计与实现(源码+数据库+文档)
  • 远程控制软件哪个好用:4款主流的远程控制软件大点评,谁最给力?
  • 基于springboot实习管理系统
  • (38)MATLAB分析带噪信号的频谱
  • 多级缓存-案例导入说明