一. 函数的返回值的概念,语法以及注意事项?

场景
当我们通过某个函数, 处理好数据之后, 想要拿到处理的结果
语法
def 函数():
函数体
return 数据
注意事项
3.1 return 后续代码不会被执行
3.2 只能返回一次
3.3 如果想要返回多个数据, 可先把多个数据包装成一个集合, 整体返回
列表
元组
字典
...

二. 在实际开发的过程中, 你是如何给一个函数添加描述信息的?

场景
当我们编写三方函数, 为了方便他人使用, 就需要描述清楚我们所写的函数功能以及使用方式等信息
定义格式
直接在函数体的最上面, 添加三个双引号对注释
def 函数():
''' 这里写帮助信息 '''
查看函数使用文档
help(函数)
保命经验
一般函数的描述, 需要说明如下几个信息
函数的功能
参数
含义
类型
是否可以省略
默认值
返回值
含义
类型
def sum(num1, num2=):
"""
负责计算两个数值的和, 并返回给外界
:param num1: 第一个参数, 参数类型: int / float, 不能被省略, 无默认值
:param num2: 第二个参数, 参数类型: int / float, 能被省略, 默认值:
:return: 计算结果
"""
return num1 + num2

三. 偏函数的概念和意义?

  1. 概念&场景

    当我们写一个参数比较多的函数时, 如果有些参数, 大部分场景下都是某一个固定值, 那么为了简化使用, 就可以创建一个新函数, 指定我们要使用的函数的某个参数, 为某个固定的值; 这个新函数就是"偏函数"
  1. 语法
方式1
自己写一个新的
方式2
借助functools模块的partial函数
import functools
newFunc = functools.partial(函数, 特定参数=偏爱值)
场景
  1. 问题
    int(x, base=10)
    将一个数字字符转换成整型数据时, 默认是按10进制的数据进行处理x
    如果想按2进制进行处理x, 需要这么调用: int(x, 2)
    如果需要经常使用这个2进制处理x转换, 每次都写参数值2太麻烦
  2. 解决
    方式1:
    def int2(x):
    return int(x, 2)

    方式2:

    import functools
    int2 = functools.partial(int, base=2)
    print(int2("110")) # 6
 

四. 高阶函数的定义以及应用场景举例?

概念
当一个函数A的参数, 接收的又是另一个函数时, 则把这个函数A称为是"高阶函数"
例如
sorted函数 就是一个高阶函数
person1 = {"name": "sz", "score": ""}
person2 = {"name": "sz2", "score": ""}
person3 = {"name": "sz3", "score": ""}
persons = [person1, person2, person3]
def sort_key(dic):
return dic["score"]
print(sorted(persons, key=sort_key))
# 打印结果如下:
# [{'name': 'sz', 'score': ''}, {'name': 'sz3', 'score': ''}, {'name': 'sz2', 'score': ''}]

五. 解释下匿名函数?

概念
也称为 "lambda函数"
顾名思义, 就是指没有名字的函数
语法
lambda 参数1, 参数2.. : 表达式
限制
只能写一个表达式
不能直接return
表达式的结果就是返回值
所以, 只适用于一些简单的操作处理
应用场景
一些临时性的使用
案例
person1 = {"name": "sz", "score": ""}
person2 = {"name": "sz2", "score": ""}
person3 = {"name": "sz3", "score": ""}
persons = [person1, person2, person3]
# 此处key对应的函数, 就没有必要单独定义出来
# 因为就它自己用, 又很简单
print(sorted(persons, key=lambda dic: dic["score"]))

撩课-Python-每天5道面试题-第7天的更多相关文章

  1. 撩课-Java每天5道面试题第13天

    撩课Java+系统架构点击开始学习 96.JDBC操作数据库的步骤 ? .加载数据库驱动 .创建并获取数据库链接 .创建jdbc statement对象 .设置sql语句 .设置sql语句中的参数(使 ...

  2. 撩课-Java每天5道面试题第15天

    撩课Java+系统架构点击开始学习 106.什么是Hibernate的并发机制?怎么去处理并发问题? a.Hibernate的Session对象是非线程安全的, 对于单个请求,单个会话, 单个的工作单 ...

  3. 撩课-Java每天5道面试题第10天

    撩课Java+系统架构 视频 点击开始学习 81.Servlet的会话机制? HTTP 是一种无状态协议, 这意味着每次客户端检索网页时, 都要单独打开一个服务器连接, 因此服务器不会记录下 先前客户 ...

  4. 撩课-Java每天5道面试题第9天

    撩课Java+系统架构 视频 点击开始学习 76.XML技术的作用? XML技术用于数据存储. 信息配置. 数据交换三方面. 可以将数据存储在XML中, 通过节点. 元素内容. 属性标示数据内容及关系 ...

  5. 撩课-Java每天5道面试题第8天

    撩课Java+系统架构 视频 点击开始学习 71.jsp有哪些内置对象?作用分别是什么? Page, pageContext, request, response, session, applicat ...

  6. 撩课-Java每天10道面试题第7天

    撩课Java+系统架构 视频 点击开始学习 61.什么是并发修改异常? 什么是并发修改异常: 当我们在遍历实现了collection接口 与iterator接口的集合时(List.Set.Map), ...

  7. 撩课-Java每天10道面试题第4天

    撩课Java+系统架构 视频 点击开始学习 31.静态变量和实例变量的区别? 静态变量也叫类变量, 这种变量前加了static修饰符. 可以直接用类名调用, 也可以用对象调用, 而且所有对象的同一个类 ...

  8. 撩课-Python-每天5道面试题-第9天

    一. Python程序中, 文件的处理步骤是什么? 打开 open("文件","模式") 读写 2.1 读 f.read(字节数) 字节数默认是文件内容长度 下 ...

  9. 撩课-Python-每天5道面试题-第8天

    一. 解释下什么是闭包? 有怎样的场景作用? 概念 在函数嵌套的前提下 内层函数引用了外层函数的变量(包括参数) 外层函数, 又把 内层函数 当做返回值进行返回 这个内层函数+所引用的外层变量, 称为 ...

  10. 撩课-Python-每天5道面试题-第6天

    一. 函数的概念是什么? 在Python中如何定义?使用场景是什么? 概念 写了一段代码实现了某个小功能; 然后把这些代码集中到一块, 起一个名字; 下一次就可以根据这个名字再次使用这个代码块, 这就 ...

随机推荐

  1. “全栈2019”Java多线程第十六章:同步synchronized关键字详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  2. powerdesign设计、实现简单的数据库模型

    1,新建CDM,打开powerdesign,选择Categories----Infoomation------Conceptual Data.开始画图,如果此时如表示关系的图标是灰色的.Tools-- ...

  3. [Objective-C语言教程]继承(25)

    面向对象编程中最重要的概念之一是继承.继承允许根据一个类定义另一个类,这样可以更容易地创建和维护一个应用程序. 这也提供了重用代码功能和快速实现时间的机会. 在创建类时,程序员可以指定新类应该继承现有 ...

  4. python --爬虫基础 --爬取今日头条 使用 requests 库的基本操作, Ajax

    '''思路一: 由于是Ajax的网页,需要先往下划几下看看XHR的内容变化二:分析js中的代码内容三:获取一页中的内容四:获取图片五:保存在本地 使用的库1. requests 网页获取库 2.fro ...

  5. week 4 Vocabulary in paper

    1.Using action verbs 1.1 deffenence between action verbs and fuzzy verbs Action verbs(strong verbs) ...

  6. localhost, 127.0.0.1, 0.0.0.0

    总结: localhost:是一个域名.域名可以认为是某个ip的别称,便于记忆.通常localhost对应的ip是127.0.0.1,不过这个也可以设置,参见知乎回答 127.0.0.1:是一个回环地 ...

  7. c# 操作excle[转]

    //引用Microsoft.Office.Interop.Excel.dll文件 //添加using using Microsoft.Office.Interop.Excel; using Excel ...

  8. win2003设置单用户登录

    远程桌面是windows操作系统中一个很方便的功能,管理测试机资产.异地排除故障等,都很快捷.在windows xp sp2模式下,一般默认是单用户登录,也就是当A用户远程一台机器时,B用户在远程到这 ...

  9. Linux下的Shell特殊符号大全(转)

    在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `co ...

  10. 祝福csdn回望2014,展望2015 大致可以这样总结和展望

    祝福CSDN回望2014,展望2015 大致可以这样总结和展望 回望2014,大致可以这样总结: 从寻觅一架飞机开始,到寻觅另一架飞机结束,中间觅了几天金正恩. 全年都在寻觅收钱的人.送钱的人和带着钱 ...