8-[函数]-嵌套函数,匿名函数,高阶函数

1.嵌套函数

  (1)多层函数套用

name = "Alex"def change_name():name = "Alex2"def change_name2():name = "Alex3"print("第3层打印", name)change_name2()  # 调用内层函数print("第2层打印", name)change_name()
print("最外层打印", name)
第3层打印 Alex3
第2层打印 Alex2
最外层打印 Alex

 

  (2)return 函数2的内存地址

age = 18
def func1():age = 73def func2():print('---2')return func2val = func1()
print(val)   # <function func1.<locals>.func2 at 0x024601E0>
val()
C:\Python34\python.exe C:/PycharmProjects/Luffy_project/21天入门/模块2/fun/fun3.py
<function func1.<locals>.func2 at 0x006201E0>
---2

 

 

2.匿名函数

  • 不需要函数名
  • 语句执行的结果就是返回值
  • 单条语句组成
  • 作用
    • 1.节省代码量
    • 2.装B

  

  (1)匿名函数

func = lambda x,y :x*y  # 声明一个匿名函数
val = func(3,5)
print(val)# 结果
15

   

  (2) 匿名函数只能有一个表达式,不用也不能写return语句,表达式的结果就是其返回值。

    

 

 

  (3)匿名函数和三元运算搭配

  • 三元运算符

  

 

def cal(x,y):if x> y:return x/yelse:return x*yval = cal(3,5)
print(val)### 结果
15

 

# 匿名函数  三元运算

func = lambda x,y : x/y if x>y else x*y
val = func(5,6)
print(val)

 

   (5)匿名函数和map

  • 需求,list=[1,2,3,4,5,]
  • 变换成 list2 = [1,4,9,16,25]

  

  

  

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

 

4.高阶函数

 

变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

  • 编写高阶函数,就是让函数的参数能够接收别的函数。

 

  只需满足以下任意一个条件,即是高阶函数

  • 接受一个或多个函数作为输入
  • return 返回另外一个函数本身

  

  

 

转载于:https://www.cnblogs.com/venicid/p/8409924.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux C高级编程——时间编程

Linux高级编程——时间编程 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 1 时间类型 &#xff08;1&#xff09; 世界标准世界&#xff08;格林威治时间&#xff09; &#xff08;2&#xff09; 日历时间&#xff08;1970年1月1日0时&#xff09;—…

Excel——多个Sheet页合并成一个

import xlrd import pandas as pd from pandas import DataFrame from openpyxl import load_workbookexcel_name 文件路径/文件名.xlsx #表格地址表格名 wb xlrd.open_workbook(excel_name) # 获取workbook中所有的表格 sheets wb.sheet_names() # print(sheets)# 循环遍…

c语言画谢宾斯基三角形

谢宾斯基三角形是一个有意思的图形&#xff0c;&#xff08;英语&#xff1a;Sierpinski triangle&#xff09;是一种分形&#xff0c;由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。先画一个三角形&#xff0c;然后呢&#xff0c;取三角形的中点&#xff0c;组…

F-Secure Client Security 注册机

F-Secure Client Security 6.*/7.* 通用注册机&#xff1a;下载地址&#xff1a;http://files.cnblogs.com/boringlamb/Keymaker.rar听说8的beta版已经出来&#xff0c;期待正式版&Keygen :)转载于:https://www.cnblogs.com/boringlamb/archive/2008/04/07/1140540.html

进程间的通信——无名管道

进程间的通信——无名管道 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 一、进程间的通信 &#xff08;1&#xff09;同主机进程间数据交互机制&#xff1a;无名管道&#xff08;PIPE&#xff09;&#xff0c;有名管道&#xff08;FIFO&#xff09;…

sklearn官网-多分类问题

sklearn实战-乳腺癌细胞数据挖掘&#xff08;博主亲自录制视频&#xff09; https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare 1.12.6. Multioutput classification Mult…

剖析C语言是如何画出这样的三角形的

哈哈&#xff0c;就是喜欢这些有意思的C语言上篇文章是这样写的c语言画谢宾斯基三角形那篇文章写的有点不直接&#xff0c;然后再查了下资料&#xff0c;看到了下面这些&#xff0c;我觉得解释更加好&#xff0c;这里主要是运用了光栅法&#xff0c;至于光栅法&#xff0c;可以…

NILMTK在Windows下的安装教程

近期&#xff0c;要进行负荷辨识&#xff0c;找到NILMTK安装包&#xff0c;特意将过程记录下来。 &#xff08;1&#xff09;Windows安装 本机已安装了Anaconda&#xff0c;环境是Python3&#xff0c;NILMTK包的项目地址为&#xff1a;https://github.com/nilmtk/nilm_metada…

who|sort实现

who|sort实现 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 创建无名管道&#xff0c;执行who命令的进程将输出重定向到管道的写端&#xff1b;执行sort命令的进程将输入重定向到管道的读端。即who的输出连接到sort的输入。 #include <stdio.h>…

修改cmdline 把内存改成512MB

#添加cmdline的方式— — 在BoardConfig.mk中修改device/mediateksample/aiv8167sm3_bsp/BoardConfig.mk BOARD_KERNEL_CMDLINE bootopt64S3,32N2,32N2 mem512MB— — 在dts 里面修改kernel-4.4\arch\arm\boot\dts\*.dts / {model "Atmel AT91SAM9M10G45-EK";compa…

selenium webdriver模拟鼠标键盘操作

在测试使用Selenium webdriver测试WEB系统的时候&#xff0c;用到了模拟鼠标、键盘的一些输入操作。 1、鼠标的左键点击、双击、拖拽、右键点击等&#xff1b; 2、键盘的回车、回退、空格、ctrl、alt、shift等&#xff1b; 在webdriver中&#xff0c;有专门的一个类&#xff0c…

NILMTK——经典数据集REDD介绍和使用

配置了NILMTK包的环境之后&#xff0c;想找数据测试一下&#xff0c;在NILMTK官网的API Docs里边发现dataset_converters模块中有内置的数据集处理函数&#xff0c;如图&#xff1a; 将数据转换成HDF文件&#xff0c;这些数据都是比较优秀的&#xff0c;其中&#xff0c;常用的…

[转]ASP中ActiveX控件的内嵌及调用

懂ASP&#xff08;Active Server Pages&#xff09;的人很多&#xff0c;但能用ASP自如地调用ActiveX控件的人却不多&#xff1b;如果不调用ActiveX控件&#xff0c;则可以说微软当初设计ASP的初衷根本没有达到。众所周知&#xff0c;ActiveX技术是微软在Internet上除了IE外的另…

Linux C实现简单的shell

Linux C下实现简单的Shell 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 【需求描述】 用各种C函数实现一个简单的交互式Shell&#xff1a; 1、给出提示符&#xff0c;让用户输入一行命令&#xff0c;识别程序名和参数并调用适当的exec函数执行程序…

上拉电阻的作用

1、介绍使用微控制器&#xff08;MCUs&#xff09; 或任何数字逻辑设备时&#xff0c;上拉电阻器非常常见。本教程将解释何时何地使用上拉电阻器&#xff0c;然后我们将做一个简单的计算&#xff0c;以显示为什么上拉很重要。2、上拉电阻是什么&#xff1f;假设您有一个将一个引…

NILMTK——深扒组合优化(CO)和FHMM细节

前面的博客讲了具体实现&#xff0c;现在深究算法代码实现细节&#xff01;&#xff01;&#xff01; 1.CO (1)关于train 从以下代码可知&#xff0c;CO首先是对各个电器的功率数据做了train&#xff0c;为了了解其原生实现对代码进行了深究&#xff1a; classifiers {CO:…

Python关键字

and  as  assert  break  class  continue   def  del  elif  else  except  exec  finally   for  from  global  if  import  in  is  lambda not  or  pass  print  raise  return  try while  with  yield  Non…

对51CTO的初步看法

决定给自己见一个技术博客之后&#xff0c;在网上搜了一下&#xff0c;发现了51CTO网站&#xff0c;进入之后发现网速够快&#xff0c;有尝试了博客的功能&#xff0c;也基本满足了我的要求&#xff0c;那就是它了&#xff0c;于是我就在51CTO安家了。写了两片共近千字的文章之…

深圳工资指导价出炉!最高月薪6万!你拖同行后腿了吗?

2020 年只剩下不到一个月了&#xff0c;年初立的 flag 有没有实现呢&#xff1f;我想多数人面临的尴尬是升职、加薪、赢取白富美、走上人生巅峰可能一步都没实现~对比周围混得风生水起的小伙伴感觉自己也不差啥啊&#xff0c;怎么就莫名其妙被甩了八条街&#xff1f;想一探究竟…

NILMTK——因子隐马尔可夫之隐马尔可夫

因子隐马尔可夫(FHMM)由Ghahramani在1997年提出&#xff0c;是一种多链隐马尔可夫模型&#xff0c;适合动态过程时间序列的建模&#xff0c;并具有强大的时序模型的分类能力&#xff0c;特别适合非平稳、再现性差的序列的分析。 1. 马尔可夫链 随机过程的研究对象是随时间演变…