python教程5:函数编程
函数编程
特性:
1、减少重复代码
2、让程序变的可扩展
3、使程序变得易维护
定义:

默认参数

要求:默认参数放在其他参数右侧
指定参数(调用的时候)
正常情况下,给函数传参数要按顺序,如果不想按顺序就可以⽤指定参数,只需指定参数名即可,但记住⼀个要求就是,指定参数必须放在位置参数(以位置顺序确定对应关系 的参数)之后。

非固定参数
如果不确定多少个参数,可以使用非固定参数
*args会把非指定参数变成一个列表
**kwargs会把指定参数变成一个字典

局部变量和全局变量
1、在函数中定义的变量称为局部变量,在程序的⼀开始定义的变量称为全局变量。
2、全局变量作⽤域(即有效范围)是整个程序,局部变量作⽤域是定义该变量的函数。
3、变量的查找顺序是局部变量>全局变量
4、当全局变量与局部变量同名时,在定义局部变量的函数内,局部变量起作⽤;在其它地⽅全局变量 起作⽤。
5、在函数⾥是不能直接修改全局变量的(简单类型不能修改,复杂类型可以修改(列表、字典))


内置函数

1. abs # 求绝对值
2. all #列表或元祖中,所有元素都为True则返回True,否则返回False
3. any #列表或元祖中,只要有一个元素为True则返回True,否则返回False
4. ascii #反应对应字符对应的ascii十进制数字
5. bin #返回整数的2进制格式
6. bool # 判断⼀个数据结构是True or False, bool({}) 返回就是False, 因为是空dict
7. bytearray # 把byte变成 bytearray, 可修改的数组
8. bytes # 返回新的bytes对象(“中国”,”gbk”)
9. callable # 判断⼀个对象是否可调⽤
10. chr # 返回⼀个数字对应的ascii字符 , ⽐如chr(90)返回ascii⾥的’Z’
11. classmethod #⾯向对象时⽤,现在忽略
12. compile #py解释器⾃⼰⽤的东⻄,忽略
13. complex #求复数,⼀般⼈⽤不到
14. copyright #没⽤
15. credits #没⽤
16. delattr #⾯向对象时⽤,现在忽略
17. dict #⽣成⼀个空dict
18. dir #返回对象的可调⽤属性
19. divmod #返回除法的商和余数 ,⽐如divmod(4,2),结果(2, 0)
20. enumerate #返回列表的索引和元素,⽐如 d = [“alex”,”jack”],enumerate(d)后,得到(0, ‘alex’) (1, ‘jack’)
21. eval #可以把字符串形式的list,dict,set,tuple,再转换成其原有的数据类型。
22. exec #把字符串格式的代码,进⾏解义并执⾏,⽐如exec(“print(‘hellworld’)”),会解义⾥⾯的字符 串并执⾏
23. exit #退出程序
24. filter #对list、dict、set、tuple等可迭代对象进⾏过滤, filter(lambda x:x>10, [0,1,23,3,4,4,5,6,67,7])过滤出所有⼤于10的值
25. float #转成浮点
26. format #没⽤
27. frozenset #把⼀个集合变成不可修改的
28. getattr #⾯向对象时⽤,现在忽略
29. globals #打印全局作⽤域⾥的值
30. hasattr #⾯向对象时⽤,现在忽略
31. hash #hash函数
32. help #api查询
33. hex #返回⼀个10进制的16进制表示形式,hex(10) 返回’0xa’
34. id #查看对象内存地址
35. input #获取用户输入信息
36. int #把数据转成int类型
37. isinstance #判断⼀个数据结构的类型,⽐如判断a是不是fronzenset, isinstance(a,frozenset) 返 回 True or False
38. issubclass #⾯向对象时⽤,现在忽略
39. iter #把⼀个数据结构变成迭代器,讲了迭代器就明⽩了
40. len #计算长度
41. list #把数据转成列表
42. locals #以字典类型返回当前位置的全部局部变量
43. map # map(lambda x:x**2,[1,2,3,43,45,5,6,]) 输出 [1, 4, 9, 1849, 2025, 25, 36]
44. max # 求列表中最⼤值
45. memoryview # ⼀般⼈不⽤,忽略
46. min # 求列表中最⼩值
47. next # ⽣成器会⽤到,现在忽略
48. object #⾯向对象时⽤,现在忽略
49. oct # 返回10进制数的8进制表示
50. open #打开文件
51. ord # 返回ascii的字符对应的10进制数 ord(‘a’) 返回97,
52. print #屏幕打印
53. property #⾯向对象时⽤,现在忽略
54. quit #作用和exit类似,一般在代码中不用
55. range #创建一个整数列表,一般用在 for 循环中。range(start, stop[, step])
56. repr #没什么⽤
57. reversed # 可以把⼀个列表反转
58. round #可以把⼩数4舍5⼊成整数 ,round(10.15,1) 得10.2
59. set #创建Set
60. setattr #⾯向对象时⽤,现在忽略
61. slice # 没⽤
62. sorted #对可迭代对象进行排序
63. staticmethod #⾯向对象时⽤,现在忽略
64. str #把其他变量转成字符串
65. sum #求和,a=[1, 4, 9, 1849, 2025, 25, 36],sum(a) 得3949
66. super #⾯向对象时⽤,现在忽略
67. tuple #创建元祖
68. type #查看变量类型
69. vars #返回⼀个对象的属性,⾯向对象时就明⽩了
70. zip #拉链。可以把2个或多个列表拼成⼀个, a=[1, 4, 9, 1849, 2025, 25, 36],b = [“a”,”b”,”c”,”d”],
map函数示例:

zip函数示例:

filter函数示例:

python教程5:函数编程的更多相关文章
- 《简明python教程》笔记一
读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info 安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...
- Python教程:连接数据库,对数据进行增删改查操作
各位志同道合的同仁可以点击上方关注↑↑↑↑↑↑ 本教程致力于程序员快速掌握Python语言编程. 本文章内容是基于上次课程Python教程:操作数据库,MySql的安装详解 和python基础知识之上 ...
- Python教程:操作数据库,MySql的安装详解
各位志同道合的同仁请点击上方关注 本教程是基于Python语言的深入学习.本次主要介绍MySql数据库软件的安装.不限制语言语法,对MySql数据库安装有疑惑的各位同仁都可以查看一下. 如想查看学习P ...
- (原+转)简明 Python 教程:总结
简明 Python 教程 说明:本文只是对<简明Python教程>的一个总结.请搜索该书查看真正的教程. 第3章 最初的步骤 1. Python是大小写敏感的. 2. 在#符号右面的内容 ...
- Python教程百度网盘哪里有?
Python为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象地称作"内置电池(batteries included)".带你快速入门的Py ...
- 2017最新的Python教程分享
Python在数据科学盛行的今天,其易于阅读和编写的特点,越来越受编程者追捧.在IEEE发布的2017年编程语言排行榜中,Python也高居首位.如果你有学Python的计划,快来看看小编分享的Pyt ...
- 笔记|《简明Python教程》:编程小白的第一本python入门书
<简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...
- 简明的Python教程中的几个疑惑点分析#2
#1简明的Python教程当中第十四章Python标准库介绍中的使用sys模块 假如你没看懂sys模块这一章节,那么没关系,看下面一段代码再看简明的Python教程中的sys模块实例你将很容易看懂 代 ...
- 简明的Python教程当中的几个疑惑点分析#1
#1简明的Python教程中的第11章面向对象编程学习中的类与对象的方法里面 有这么一个案例:使用类与对象的变量 #coding:utf-8 #类与对象的变量学习 class Person: popu ...
- 学习笔记《简明python教程》
学习笔记<简明python教程> 体会:言简意赅,很适合新手入门 2018年3月14日21:45:59 1.global 语句 在不使用 global 语句的情况下,不可能为一个定义于函数 ...
随机推荐
- C++设计模式 - 适配器模式(Adapter)
接口隔离模式 在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题.甚至根本无法实现.采用添加一层间接(稳定)接口,来隔离本来互相紧密关联的接口是一种常见的解决方案. 典型模式 Facade P ...
- 关于 kafka 消息的顺序问题一二
顺序就像就是 12345,任何 12354.12543.51234等都不行. 因为是 mq,所以必然涉及三个主体:发送方.消息服务器.消费方. 一.kafka 消息服务器 kafka brokers ...
- .NET Emit 入门教程:第六部分:IL 指令:4:详解 ILGenerator 指令方法:参数存储指令
前言: 上一篇介绍了 IL 指令的分类以及参数加载指令,该加载指令以ld开头,将参数加载到栈中,以便于后续执行操作命令. 本篇开始介绍参数存储指令,其指令以st开头,将栈中的数据,存储到指定的变量中, ...
- #杜教筛,欧拉函数#51nod 1227 平均最小公倍数
题目 设 \(\large A(n)=\frac{1}{n}\sum_{i=1}^n lcm(i,n)\), 求 \(\sum_{i=l}^rA(i)\),\(n\leq 10^9\) 分析 题意可以 ...
- #容斥,完全背包#洛谷 1450 [HAOI2008]硬币购物
题目 分析 直接多重背包应该会T掉,考虑硬币的种类比较少. 如果没有硬币数量的限制直接完全背包就可以了, 不然如果限制了硬币的数量那么第 \(d+1\) 次取这个硬币就不合法, 所以要减去 \(dp[ ...
- #树形dp#C 树上排列
分析 设\(dp[x][i]\)表示以\(x\)为根的子树中\(x\)的排名为\(i\)的方案数, 然后枚举子节点转移即可,Talk is cheap,Show me the code 代码 #inc ...
- Godot.NET C#IOC重构(2):TileMap 详解
目录 前言 TileMap添加 TileMap绘制 TileMap 连续图块 修改纹理原点 统一设置 自动地形 匹配规则 修改匹配概率 修改概率前 修改概率后 随机图块 Scattering 不连续间 ...
- SQLite总结
废话不多说: 优点,高并发读快速度读取超越所有主流大中型数据库 缺点,缺少同步机制,读写不能同时,且同时只能有一个写入线程 用途,硬盘式缓存 另附一SQLite工具类: import java.io. ...
- asyncio和aiohttp携程并发
import asyncio from aiohttp import web import time async def process(): for i in range(10): print(&q ...
- tensorflow如何切换CPU和GPU
import os if Bert_Use_GPU: os.environ['CUDA_VISIBLE_DEVICES'] = '0,1' #使用GPU0,1 else: os.environ['CU ...