函数
哈鲁,鬼见愁
人称鬼见愁,体验编程的乐趣,感受破解的魅力
展开
-
函数递归
一 函数递归调用介绍 函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而函数的递归调用指的是在调用一个函数的过程中又直接或间接地调用该函数本身 例如 在调用f1的过程中,又调用f1,这就是直接调用函数f1本身 def f1(): print('from f1') f1() f1() 配图:递归调用1 在调用f1的过程中,又调用f2,而在...原创 2019-10-26 17:00:29 · 145 阅读 · 0 评论 -
迭代器,生成器
一 迭代器介绍 迭代器即用来迭代取值的工具,而迭代是重复反馈过程的活动,其目的通常是为了逼近所需的目标或结果,每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值,单纯的重复并不是迭代 while True: msg = input('>>: ').strip() print(msg) 下述while循环才是一个迭代过程,不仅满足重复,而...原创 2019-10-26 16:41:54 · 142 阅读 · 0 评论 -
装饰器
一 装饰器介绍 1.1 为何要用装饰器 软件的设计应该遵循开放封闭原则,即对扩展是开放的,而对修改是封闭的。对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。对修改封闭,意味着对象一旦设计完成,就可以独立完成其工作,而不要对其进行修改。 软件包含的所有功能的源代码以及调用方式,都应该避免修改,否则一旦改错,则极有可能产生连锁反应,最终导致程序崩溃,而对于上线后的软件,新...原创 2019-10-26 16:22:46 · 325 阅读 · 0 评论 -
函数对象与闭包
一 函数对象 函数对象指的是函数可以被当做’数据’来处理,具体可以分为四个方面的使用,我们如下 1.1 函数可以被引用 >>> def add(x,y): ... return x+y ... >>> func=add >>> func(1,2) 3 1.2 函数可以作为容器类型的元素 >>> dic={'add'...原创 2019-10-26 16:02:52 · 162 阅读 · 0 评论 -
函数的名称空间与作用域
一 名称空间 名称空间即存放名字与对象映射/绑定关系的地方。要想访问一个变量的值,必须先去名称空间中拿到对应的名字才能够访问变量的值,对于x=3,Python会申请内存空间存放对象3,然后将名字x与3的绑定关系存放于名称空间中,del x表示清除该绑定关系。 在程序执行期间最多会存在三种名称空间 1.1 内建名称空间 伴随python解释器的启动/关闭而产生/回收,因而是第一个被加载的名称空间,用...原创 2019-10-26 15:54:52 · 202 阅读 · 0 评论 -
函数参数
一 形参与实参介绍 函数的参数分为形式参数和实际参数,简称形参和实参: 形参即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。 实参即在调用函数时,括号内传入的值,值可以是常量、变量、表达式或三者的组合: #1:实参是常量 res=my_min(1,2) #2:实参是变量 a=1 b=2 res=my_min(a,b) #3:实参是表达式 res=my_min(1...原创 2019-10-26 15:31:48 · 2584 阅读 · 0 评论 -
初识函数
一 定义函数 函数的使用必须遵循’先定义,后调用’的原则。函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用,这和变量的定义是相似的。没有事先定义函数而直接调用,就相当于在引用一个不存在的’变量名’。 定义函数的语法 def 函数名(参数1,参数2,...): """文档描述""" 函数体 return 值 def: 定义...原创 2019-10-26 15:01:41 · 162 阅读 · 0 评论