首页 > 其他分享 >五、函数

五、函数

时间:2023-09-03 12:46:28浏览次数:37  
标签:内部 定义 元组 参数 拆包 函数

函数

  1. 定义:定义成函数后,再通过调用函数来实现代码的复用性。

1.语法规则:def 函数名():

存放要封装的代码,重复的代码

C:\Users\巧克力\AppData\Local\Temp\1612612129(1).png

2.解释函数的组成部分

def 是关键字,定义函数的关键字

3. 函数的调用:函数名()

4. return的用法(关键字):return 返回的值是可以把值赋值给变量的。用法主要有两个,第一是结束方法;第二是带出返回值。

C:\Users\巧克力\AppData\Local\Temp\1612674833(1).png

C:\Users\巧克力\AppData\Local\Temp\1612846660(1).png

  1. 函数参数
  2. 定义:函数里面需要改变的值,本质就是变量
  3. 语法格式:

def 函数名(参数):

  1. 参数的种类:必备参数,默认参数不定长参数

必备参数:变量名,你定义了就必须要传

默认参数:调用的时候可以不传,不传为定义的默认值,如果传了,就是传入的值

不定长参数:

元组不定长参数:把传入的参数放到元组当中

典不定长参数:把传入的参数放到字典中

C:\Users\巧克力\AppData\Local\Temp\1612676160(1).png

C:\Users\巧克力\AppData\Local\Temp\1612676555(1).png

  1. 拆包:元组的参数拆包,字典的参数拆包

元组的参数拆包

C:\Users\巧克力\AppData\Local\Temp\1612677136(1).png

字典的参数拆包:

C:\Users\巧克力\AppData\Local\Temp\1629561734(1).png

C:\Users\巧克力\AppData\Local\Temp\1629561794.png

  1. 函数的作用域:局部变量,全局变量
  2. 局部变量:函数内部定义的变量在函数外部不可以使用(函数内部的变量),是局部变量

C:\Users\巧克力\AppData\Local\Temp\1612698734(1).png

  1. 全局变量:如果想要在函数内部改变外面不可变对象变量的值,则需要在函数内部使全局变量

C:\Users\巧克力\AppData\Local\Temp\1612697887(1).png

注意:可以函数外面访问和使用,也可以在函数内部访问,不可变的是地址,可变的是数据

闭包

定义:把内部函数(func1)和外部变量(var1)都称为闭包

C:\Users\巧克力\AppData\Local\Temp\1612844638(1).png

游戏血量的保护:

C:\Users\巧克力\AppData\Local\Temp\1612845424(1).png

闭包的作用:可以在外部修改函数内部的变量值,是函数内部与外界沟通的桥梁(保护数据,返回指定修改的函数)

  1. 递归和匿名函数
  2. 递归函数(减法校验):

定义:递归函数简单来说就是函数内部调用自己,和while循环类似,也需要一个结束条件,否则超出递归深度就会报错

C:\Users\巧克力\AppData\Local\Temp\1612848281(1).png

如求阶乘:10的阶乘 10*9*8*7*6*5*4*3*2*1

C:\Users\巧克力\AppData\Local\Temp\1612848791(1).png

  1. 匿名函数:匿名函数关键字(lambda)

定义:匿名函数就是没有函数名的函数,主要用来定义那种不是特别复杂的函数,常用用于函数的参数中

语法规则:lambda 参数:(自带return)要执行的代码

C:\Users\巧克力\AppData\Local\Temp\1612849876(1).png

实例运用:

C:\Users\巧克力\AppData\Local\Temp\1612851737(1).png

标签:内部,定义,元组,参数,拆包,函数
From: https://www.cnblogs.com/chocolateone/p/17674867.html

相关文章

  • 函数高级
    函数默认参数、占位参数,函数重载1#include<iostream>2usingnamespacestd;34//1、函数默认参数5//如果传入数据,使用传入的数据,没有则用默认的6//函数声明与实现只能由一个有默认参数7intfunc(inta,intb=20,intc=30)8{9returna+b+c;10}1......
  • 回调函数解决代码冗余问题
    1.代码功能:实现简单计算器功能:加减乘除2.代码:#include<stdio.h>voidmenu(){ printf("**********************************\n"); printf("**0.eixt1.Add2.Sub3.Mul4.Div**\n"); printf("**********************************\n");}intAdd......
  • 无涯教程-JavaScript - NEGBINOMDIST函数
    NEGBINOMDIST函数取代了Excel2010中的NEGBINOM.DIST函数。描述该函数返回负二项式分布。NEGBINOMDIST返回在第number_s次成功之前出现number_f次失败的概率,而成功的恒定概率是概率_s。该函数与二项式分布相似,不同之处在于成功次数是固定的,而试验次数是可变的。像二项式一......
  • 编写判断一个正整数是否为素数的函数
    编写判断一个正整数是否为素数的函数自己搞的,还请斧正。#include <stdio.h>void  prime(int m);                         int main(){    int a[10],i;      for(i=0;i<10;i++)    {        scanf("%d",&a[......
  • 无涯教程-JavaScript - MODE函数
    MODE函数取代了Excel2010中的MODE.SNGL函数。描述该函数返回数组或数据范围中最频繁出现或重复的值。语法MODE(number1,[number2],...)争论Argument描述Required/OptionalNumber1Thefirstnumberargumentforwhichyouwanttocalculatethemode.RequiredNu......
  • C++的基类和派生类构造函数
    基类的成员函数可以被继承,可以通过派生类的对象访问,但这仅仅指的是普通的成员函数,类的构造函数不能被继承。构造函数不能被继承是有道理的,因为即使继承了,它的名字和派生类的名字也不一样,不能成为派生类的构造函数,当然更不能成为普通的成员函数。在设计派生类时,对继承过来的成员变量......
  • 无涯教程-JavaScript - LOGINV函数
    LOGINV函数替代Excel2010中的LOGNORM.INV函数。描述该函数返回x的对数正态累积分布函数的逆函数,其中ln(x)的分布通常带有参数mean和standard_dev。如果p=LOGNORMDIST(x,...),则LOGINV(p,...)=x使用对数正态分布来分析对数转换的数据。语法LOGINV(probability,mean,s......
  • 【高等数学】第二章 多元函数微分学
    1多元函数基本概念二元及二元以上的函数统称多元函数。1.1平面点集开区域:取不到边界值。闭区域:可以取到边界值。(任意一个边界可以取到即认为是闭区域)无界:某个方向无穷没有边界(任意一个边界无穷即代表无界)有界:任意一个方向有边界1.2二元函数其中,x/y为自变量;z为因变量。x,y的变化......
  • 无涯教程-JavaScript - HYPGEOMDIST函数
    HYPGEOMDIST函数替代Excel2010中的HYPGEOM.DIST函数。描述该函数返回超几何分布。HYPGEOMDIST返回给定样本数量,给定样本数量,总体成功率和总体数量的概率。将HYPGEOMDIST用于具有有限总体的问题,其中每个观察输出都是成功或失败,并且给定大小的每个子集的选择可能性均等。......
  • C++刷题输入输出和常用函数处理
    1.输入数字但非默认的十进制,比如输入的是十六进制数,但要转为十进制再进行别的处理。当我们在编程中处理十六进制数时,通常会将其表示为字符串。cin>>hex>>m;//输入十六进制,m会自动转十进制。2.int和string中单个字符互转strings="12345";inta0=s[0]-'0';//字符转......