函数编程

特性:

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:函数编程的更多相关文章

  1. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  2. Python教程:连接数据库,对数据进行增删改查操作

    各位志同道合的同仁可以点击上方关注↑↑↑↑↑↑ 本教程致力于程序员快速掌握Python语言编程. 本文章内容是基于上次课程Python教程:操作数据库,MySql的安装详解 和python基础知识之上 ...

  3. Python教程:操作数据库,MySql的安装详解

    各位志同道合的同仁请点击上方关注 本教程是基于Python语言的深入学习.本次主要介绍MySql数据库软件的安装.不限制语言语法,对MySql数据库安装有疑惑的各位同仁都可以查看一下. 如想查看学习P ...

  4. (原+转)简明 Python 教程:总结

     简明 Python 教程 说明:本文只是对<简明Python教程>的一个总结.请搜索该书查看真正的教程. 第3章 最初的步骤 1. Python是大小写敏感的. 2. 在#符号右面的内容 ...

  5. Python教程百度网盘哪里有?

    Python为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象地称作"内置电池(batteries included)".带你快速入门的Py ...

  6. 2017最新的Python教程分享

    Python在数据科学盛行的今天,其易于阅读和编写的特点,越来越受编程者追捧.在IEEE发布的2017年编程语言排行榜中,Python也高居首位.如果你有学Python的计划,快来看看小编分享的Pyt ...

  7. 笔记|《简明Python教程》:编程小白的第一本python入门书

    <简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...

  8. 简明的Python教程中的几个疑惑点分析#2

    #1简明的Python教程当中第十四章Python标准库介绍中的使用sys模块 假如你没看懂sys模块这一章节,那么没关系,看下面一段代码再看简明的Python教程中的sys模块实例你将很容易看懂 代 ...

  9. 简明的Python教程当中的几个疑惑点分析#1

    #1简明的Python教程中的第11章面向对象编程学习中的类与对象的方法里面 有这么一个案例:使用类与对象的变量 #coding:utf-8 #类与对象的变量学习 class Person: popu ...

  10. 学习笔记《简明python教程》

    学习笔记<简明python教程> 体会:言简意赅,很适合新手入门 2018年3月14日21:45:59 1.global 语句 在不使用 global 语句的情况下,不可能为一个定义于函数 ...

随机推荐

  1. 禅道16.2版本发布!主要新增专业研发看板,修复Bug

    大家好,禅道16.2发布了,本次发布在项目管理模型层面新增了专业研发看板功能,今后禅道全面支持Scrum.瀑布.看板3种项目管理模型,功能更加健全,用户选择更加灵活. 视频地址:https://www ...

  2. #dp,排列#LOJ 2743「JOI Open 2016」摩天大楼

    题目 将互不相同的 \(n\) 个数重排,使得相邻两数差的总和不超过 \(L\) 的有多少种方式. \(n\leq 100,L\leq 1000\) 分析 对于排列的问题,有一种很妙的方法就是从小到大 ...

  3. 使用vcpkg和OHOS SDK构建开源软件

    安装OHOS SDK 参照OHOS IDE和SDK的安装方法,安装构建工具. 创建用户环境变量OHOS_NDK_HOME,指向OHOS SDK的安装路径,比如D:\Tools\Huawei\OHOS\ ...

  4. 记一次 .NET某管理局检测系统 内存暴涨分析

    一:背景 1. 讲故事 前些天有位朋友微信找到我,说他们的WPF程序有内存泄漏的情况,让我帮忙看下怎么回事?并且dump也抓到了,网上关于程序内存泄漏,内存暴涨的文章不计其数,看样子这个dump不是很 ...

  5. Java 内存分析(程序实例),学会分析内存,走遍天下都不怕!!!

    相信大多数的java初学者都会有这种经历:碰到一段代码的时候,不知该从何下手分析,不知道这段代码到底是怎么运行最后得到结果的..... 等等吧,很多让人头疼的问题,作为一名合格的程序员呢,遇到问题一定 ...

  6. openGauss资源池化开发者入门指南(二)

    openGauss 资源池化开发者入门指南(二) 一.内容简介 openGauss 资源池化是 openGauss 推出的一种新型的集群架构.通过 DMS 和 DSS 组件,实现集群中多个节点的底层存 ...

  7. .Net 代码分析工具对比 visual studio 2022 current

    目录 原因 背景知识 名词解释 分析器 分析器在IDE里 目标 查找思路及过程 CodeMaid Roslyn StyleCop.Analyzer StyleCop? StyleCop.Analyze ...

  8. github 小技巧

    前言 简单记一下github 小技巧,因为经常忘. 正文 就是如何快速搜索到自己想找的项目. 如果自己知道项目名,那么直接输入就可以搜索到. 如果不是,那么一般要通过高级搜索. https://git ...

  9. Java面试题:为什么HashMap不建议使用对象作为Key?

    HashMap 是一种基于哈希表的动态数据结构,它允许使用任意不可变对象作为键(key)来存储和检索数据.然而,在某些情况下,使用对象作为 HashMap 的键可能会遇到一些问题. 首先,我们需要明确 ...

  10. 力扣125(java)-验证回文串(简单)

     题目: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan ...