前言: 函数分为有参有返回值,有参无返回值,无参无返回值,无参有返回值;那么对于无参数的函数你想使用函数的调用怎么办呢?如果你想封装一个代码,实现多种功能,但是形参大于实参或者实参大于形参又该如何?本文就发生函数调用过程中,值传递,参数的不对等处理原则等关于参数的一些相关操作进行阐述。 1.实参数大 ...
分类:
Web程序 时间:
2017-12-23 20:24:43
阅读次数:
282
装饰器: 定义:本质是函数(用来装饰其他函数,即为其他函数添加附加功能) 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 实现装饰器知识储备: 1.函数即“变量” 2.高阶函数 a.把一个函数名当作实参传递给另一个函数(在不修改函数源代码的情况下为其添加功能) b.返回值 ...
分类:
编程语言 时间:
2017-12-21 00:20:04
阅读次数:
156
一、Python 函数的作用 函数是可以重复使用,能够实现特定功能的代码段是一种特定的代码组结构。 二、定义函数: 2.带有参数的函数格式: 三、函数的调用: 定义一个函数只是为函数起了一个名字,指定了代码的结构设置里功能, 想要使用这个函数可以直接书写函数的名字调用也可以 通过另一个函数执行 如下 ...
分类:
编程语言 时间:
2017-12-17 20:40:10
阅读次数:
146
定义 本质是函数,(装饰其他函数)为其他函数添加附加功能。 原则 1. 不能修改被装饰的函数的源代码 2. 不能修改被装饰的函数的调用方式 实现装饰器知识储备 函数即“变量” 高阶函数 嵌套函数 高阶函数+嵌套函数=》装饰器 1. 函数即“变量”: 定义一个函数就相当于定义一个变量,即将函数体赋值给 ...
分类:
编程语言 时间:
2017-12-16 15:51:20
阅读次数:
114
建立TCP连接 新的Socket实例创建后,就立即能用于发送和接收数据。也就是说,当Socket实例返回时,它已经连接到了一个远程终端,并通过协议的底层实现完成了TCP消息或握手信息的交换。 客户端连接的建立 Socket构造函数的调用与客户端连接建立时所关联的协议事件之间的关系下图所示: 当客户端 ...
分类:
编程语言 时间:
2017-12-14 04:19:07
阅读次数:
146
对象生成时会自动调用构造函数。只要找到了定义对象的地方,就找到了构造函数调用的时机。不同作用域的对象的生命周期不同,如局部对象、全局对象、静态对象等的生命周期各不相同,只要知道了对象的声明周期,便可以推断出构造函数的调用时机。 局部对象 反汇编: 获取对象首地址并调用构造函数: 对象的地址为: 进入 ...
分类:
编程语言 时间:
2017-12-13 11:29:34
阅读次数:
170
1.默认参数 默认参数可以简化函数的调用。 设置默认参数时,有几点要注意: 一、必选参数在前,默认参数在后,否则Python的解释器会报错。 二、当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。 使用默认参数有什么好处?最大的好处是能降低调用函数的难度。 ...
分类:
编程语言 时间:
2017-12-11 18:36:08
阅读次数:
254
自定义函数: 宏函数 (1)函数式宏定义的参数没有类型,预处理器只负责做形式上的替换,而不做参数类型检查,所以危险性高;但因为省去了函数的调用,返回,释放,所以效率比自定义函数高; (2)调用真正函数的代码和调用函数式宏定义的代码编译生成的指令不同。 如果MAX是个普通函数,那么它的函数体retur ...
分类:
其他好文 时间:
2017-12-11 11:29:03
阅读次数:
197
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。 Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、... ...
分类:
编程语言 时间:
2017-12-10 16:02:47
阅读次数:
167
通过使用gprof,我发现在优化程序的过程中,与其使用if多次调用表达式判断,虽然递归函数中判断函数的调用次数减少了,但是总时间却变长了。 自以为优化的程序,没想到却比未优化的程序还慢,看来还是得多学点底层知识。 1.未优化 2.优化 ...
分类:
其他好文 时间:
2017-12-09 12:08:28
阅读次数:
173