python函数副作用 python函数对变量的作用

python中,如图,排序sort为啥不用赋值给一个中间变量就能打出来?下面语句为啥又不行?

list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值。

成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为克拉玛依企业提供专业的成都做网站、成都网站制作、成都外贸网站建设克拉玛依网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

所以不需要创建变量接收。

你也可以理解为sort()改变的原来的列表,不会产生新的列表。

Python中的类相比与函数有什么异同

优点:可以保存状态

缺点:可以保存状态

解释:

如果不能保存状态,那么每次调用函数时,你都不得不把相关信息通过参数传递过来,麻烦并且在参数多时容易出错。

当一个东西包含状态,意味着很多操作会带有修改其内部状态的副作用。当项目管理不善时,某些对象的内部状态可能多且关系错综复杂,会给维护和调试带来极大的复杂度。也就是稍微改一下,很多东西就出奇怪的问题。

另一方面,将逻辑、算法与状态绑定,会使其不够灵活。比如用着用着,你有多种状态都需要同一种处理逻辑,这时候再把逻辑和算法从类里抽出来就麻烦了。

当然也有纯数据的不可变的类,比如各种 named tuple、datetime 之类的(函数本身就是个类)。函数里也可以通过操作闭包或者全局变量来保存状态。我只是说普通用户所遇到的大部分情况。

推荐策略:举棋不定时听 pylint 的话。

python支持函数式编程吗

python不是完全支持函数式编程,他支持部分函数式编程,函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。

Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。


分享名称:python函数副作用 python函数对变量的作用
文章转载:http://scjbc.cn/article/docdhic.html

其他资讯