python教程5:函数编程

news/2024/10/7 22:28:19

函数编程

特性:

1、减少重复代码

2、让程序变的可扩展

3、使程序变得易维护

定义:

 默认参数

 要求:默认参数放在其他参数后边

指定参数(调用的时候)

正常情况下,给函数传参数要按顺序,不想按顺序就可以⽤指定参数,只需指定参数名即可,但记住⼀个要求就是,指定参数必须放在位置参数(以位置顺序确定对应关系 的参数)之后。

 非固定参数

如果不确定多少个参数,可以使用非固定参数

*args会把非指定参数变成一个列表

**kwargs会把指定参数变成一个字典

 局部变量和全局变量

 1、在函数中定义的变量称为局部变量,在程序的⼀开始定义的变量称为全局变量。

2、全局变量作⽤域(即有效范围)是整个程序,局部变量作⽤域是定义该变量的函数。

3、变量的查找顺序是局部变量>全局变量

4、当全局变量与局部变量同名时,在定义局部变量的函数内,局部变量起作⽤;在其它地⽅全局变量 起作⽤。

5、在函数⾥是不能直接修改全局变量的(简单类型不能修改,复杂类型可以修改(列表、字典)

 内置函数

 1. abs # 求绝对值

2. all #Return True if bool(x) is True for all values x in the iterable.If the iterable is empty, return True.

3. any #Return True if bool(x) is True for any x in the iterable.If the iterable is empty, return False.

4. ascii #Return an ASCII-only representation of an object,ascii(“中国”) 返回”‘\u4e2d\u56fd’”

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

33. hex #返回⼀个10进制的16进制表示形式,hex(10) 返回’0xa’

34. id #查看对象内存地址

35. input

36. 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

55. range

56. repr #没什么⽤

57. reversed # 可以把⼀个列表反转

58. round #可以把⼩数4舍5⼊成整数 ,round(10.15,1) 得10.2

59. 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”],

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

linux系统CentOS下安装snmp服务

使用yum安装1.直接使用yum安装snmp*yum install -y net-snmp net-snmp-utils*2.可能碰到的报错3.按照提示安装依赖*yum install libmysqlclient.so.18* 4.要是还有报错,就按照提示执行*yum install -y net-snmp net-snmp-utils --skip-broken*5.其他安装好的上面是四个包,缺…

Nftables漏洞原理分析(CVE-2022-32250)

在nftales中存在着集合(sets),用于存储唯一值的集合。sets 提供了高效地检查一个元素是否存在于集合中的机制,它可以用于各种网络过滤和转发规则。而CVE-2022-32250漏洞则是由于nftables在处理set时存在uaf的漏洞。前言 在nftales中存在着集合(sets),用于存储唯一值的集合。…

YOLO-World环境搭建推理测试

一、引子 CV做了这么多年,大多是在固定的数据集上训练,微调,测试。突然想起来一句话,I have a dream!就是能不能不用再固定训练集上捣腾,也就是所谓的开放词汇目标检测(OVD)。偶尔翻翻AI新闻,发现现在CV领域有在卷开集目标检测的趋势。刚好翻到,YOLO-World这一开源项…

如何查找Lenovo XClarity Controller 的 MIB 文件

描述 本文介绍了为运行Lenovo XClarity Controller (LXCC) 的Lenovo服务器查找和下载 MIB 文件的过程。 程序转至数据中心支持。 lenovo .com 。 在搜索栏中,输入Lenovo服务器型号名称,然后单击自动搜索结果中正确服务器下的“下载” 。注意:在此示例中,将使用 SR650。 在“…

allure功能使用-添加链接linktestcaseissue

1.执行指定测试用例时,在测试方法前添加注解@allure.link跳转到执行地址: 在HTML报告可看到跳转信息: 2.执行指定测试用例时,需要知道测试案例所在代码仓库地址时,在其方法前添加注解@allure.testcase跳转仓库地址(用于代码走读): 3.执行指定测试用例时,需要将该用例…

云原生周刊:Terraform 1.8 发布 | 2024.5.6

开源项目推荐 xlskubectl 用于控制 Kubernetes 集群的电子表格。xlskubectl 将 Google Spreadsheet 与 Kubernetes 集成。你可以通过用于跟踪费用的同一电子表格来管理集群。git-sync git-sync 是一个简单的命令,它将 git 存储库拉入本地目录,等待一段时间,然后重复。当远程…

二叉树进阶:二叉搜索树、平衡二叉树、KD树(实现KNN算法的快速寻找k个邻居)

二叉搜索树二叉搜索树又称为二叉排序树、二叉查找树。请记住,本篇所介绍的所有树,都是二叉搜索树,也就是说都用到了二分查找的思想。二叉搜索树的特征:每个结点的左结点都小于结点本身,右结点都大于结点本身。用中序遍历来遍历一棵二叉搜索树,结果必然是有序的。 时间复杂…

岩土工程监测中振弦采集仪的布设方案及实施步骤简析

岩土工程监测中振弦采集仪的布设方案及实施步骤简析 岩土工程监测中,河北稳控科技振弦采集仪是一种常用的地下水位和土层压缩性监测工具。它通过采集振弦的振动信号来确定地下水位和土层的压缩性,为岩土工程的设计、施工和监测提供重要的数据支持。下面将对振弦采集仪的布设方…