Python——面向过程与函数式
时间:2020-03-26
本文章向大家介绍Python——面向过程与函数式,主要包括Python——面向过程与函数式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、编程思想/范式
- 编程范式指的就是编程的套路,打个比方,如果把编程的过程比喻为练习武功,那编程范式指的就是武林中的各种流派
二、面向过程
面向过程的编程思想
- 核心:“过程”二字,过程即流程,指的是做事的步骤:先、再、后
- 基于该思想编写程序就好比在设计一条流水线
- 优点:能将复杂的问题流程化、进而简单化
- 缺点:扩展性非常差
'''
面向过程的编程思想应用场景解析:
1、不是所有的软件都需要频繁更迭:比如编写脚本
2、即便是一个软件需要频繁更迭,也并不代表这个软件所有的组成部分都需要一起更迭
'''
三、函数式
3.1 匿名函数与lambda
# 1、def用于定义有名函数
# func=函数的内存地址
def func(x, y):
return x+y
print(func)
# 2、lambda用于定义匿名函数
print(lambda x,y:x+y)
# 3、调用匿名函数
# 方式一:
res=(lambda x,y:x+y)(1, 2)
print(res)
# 方式二:
func = lambda x,y:x+y
res=func(1,2)
print(res)
# 4、匿名用于临时调用一次的场景:更多的是将匿名函数与其他函数配合使用
3.2 map、reduce、filter
3.3 sorted、max、min
salaries={
'siry':3000,
'tom':7000,
'lili':10000,
'jack':2000
}
# 需求1:找出字典中薪资最高的人=>lili
# def func(k):
# return salaries[k]
# res = max(salaries, key=func) # 返回值=func('siry')
# print(res)
res = max(salaries, key=lambda k:salaries[k])
print(res)
# 需求2:找出字典中薪资最低的人=>jack
res = min(salaries, key=lambda k:salaries[k])
print(res)
3.4 内置函数
原文地址:https://www.cnblogs.com/guanxiying/p/12573021.html
- HDUOJ-----1098 Ignatius's puzzle
- 转--shell脚本备份mysql数据库
- NYOJ——————数的长度(斯特林公式的应用)
- 关于ssh命令的几个使用小技巧(r11笔记第27天)
- Golang语言社区--消息触发服务器启动基础模块分享
- NYOJ------汉诺塔(一)
- HDUOJ----Coin Change
- Golang语言社区--列出目录和遍历目录的方法
- HDUOJ-------单词数
- insert导致的性能问题大排查(r11笔记第26天)
- NYOJ-----最少乘法次数
- nyOJ-----韩信点兵
- HDUOJ-----A == B ?
- 用Oracle的眼光来学习MySQL 5.7的sys(上)(r11笔记第24天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- pyPI: Python计算热带气旋潜在强度(Potential Intensity, 数据+代码)
- CVE-2019-0808 从空指针解引用到权限提升
- 打卡群刷题总结0926——零钱兑换
- 这样写的代码,都是垃圾......
- 打卡群刷题总结0928——整数拆分
- 面试官最爱问的 11道 Redis 面试题,我替你整理好了
- 打卡群刷题总结0929——计算各个位数不同的数字个数
- codeforces 1423K(数学+差分数组预处理)
- 电影大片里的代码究竟有多高级?
- 打卡群刷题总结0930——最大整除子集
- 机器学习中的常用编码方式(一)
- leetcode题目之1、2---两数相加
- pyplot做PR-curve
- Go - flag:命令行flags解析
- 走进Network Namespace学会容器网络调试