您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 肇庆分类信息网,免费分类信息发布

python编程中函数和参数的你没想过的事情都在这了

2019/6/26 2:56:23发布120次查看
今天我们先聊少一点,就聊聊函数是什么和函数的参数,以及对这两个东西的思考
起源于抽象在程序员写代码的时候,通常都会提到一个词叫抽象, 很多人都知道在面向对象中,将一个对象抽象为一个类,其实这就是我们常说的数据抽象(后面聊面向对象的时候再接着聊), 其实还有另外一种抽象,叫控制抽象
其实不论那种抽象,最终都是将一个名字与一个程序代码片段进行关联
控制抽象这种抽象可以让我们从更高层次去思考问题, 我们只需要思考我们抽象的这个名字所代表的功能即可,至于里面的具体实现,我们可以并不考虑他
比如下面的这个例子,我们定义一个add_cart的函数,然后把商品加进去,然后返回我们的购物车, 至于里面具体是怎么晚的, 我们并不关心
我们是不是回到了起点呢?我们给定一个输入,然后经过我们的功能代码,最后会给定一个输出,
那从上面这些来看,其实控制抽象主要就是定义一个完成某个功能的良好操作,本质上就是一段代码片段
参数学过程序的人都知道, 函数是传递一下参数,函数会修改或者使用这些参数里面的值
行参与实参
行参是函数的一部分,通常在函数定义的时候,进行定义,当调用函数的时候,会根据行参来进行实际参数(实参)的传递,给函数的代码片段使用
值引用与栈
有时候我们讨论参数的的传递的时候都会讨论值传递与引用传递, 那有没有想过,这个问题的背后,到底是什么
普及下函数调用,我们哦那个右往左看, 当我们执行一个函数的时候,会专门为函数在栈上分配一块空间, 同时也会函数的参数,在这片区域分配空间, 当函数调用完成,这块空间会自动销毁(正常情况下还有闭包等特殊)
接着看什么是引用,什么是值,的区别是什么,我们可以看到, 虽然引用和值,都会在当前函数内部分配一个临时存储她们的变量,但引用对象引用的底层对象,其实根本不在当前栈范围内, 那在函数内部操作引用对象,肯定会修改到原始的对象啦, 所以我们是不是可以通过对象的原始内存分配,来确定,你到底在哪,为什么你就叫引用呢
今天就到这吧, 写文章并没有我想的那么容易, 大家可以多关注关注, 鼓励我继续写下去, 当前的文章都不涉及到什么具体的代码, 其实更多的是想引起大家的一些思考, 我们天天学到底是学的什么, 不局限于具体的语法, 而是思考的方式
python太简单了, 我们可以不去看cpython的实现,不去看dis的所谓的汇编码, 你依旧可以成为一个python程序员, 那我们可以不学了这么多东西, 那是不是可以学习建立一些编程语言的思维框架, 这样后续在学习别的语言的时候,不像新手菜鸟傻呆呆的从头 if else hello world好吧

肇庆分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录