当前位置: 首页 > news >正文

画册设计模板图片公司网站建设推荐乐云seo

画册设计模板图片,公司网站建设推荐乐云seo,wpdx主题wordpress免费,郑州网站设计制作一、函数参数与返回值基础知识 1、不要使用可变类型(list等)作为参数默认值,用None来代替。 参数默认值只会在函数定义阶段被创建一次,之后无论创建多少次,函数内拿到的默认值都是同一个对象,为规避这个问…

一、函数参数与返回值基础知识

1、不要使用可变类型(list等)作为参数默认值,用None来代替。

参数默认值只会在函数定义阶段被创建一次,之后无论创建多少次,函数内拿到的默认值都是同一个对象,为规避这个问题,一般会用None来代替可变默认类型对象。

2、使用标记对象,可以严格区分函数调用时是否提供了某个参数。

所谓标记对象,是专门定义一个独一无二的变量类型,当用户调用函数确实没有传递某个参数时、默认值会变成这个标记对象,那么我们就可以知道服务到底有没有传这个变量了、而不是仅仅通过None来判断。

3、定义仅限关键字参数,可以强制要求调用方提供参数名,提升可读性。
4、函数应当拥有稳定的返回类型,不要返回多种类型。
5、适合返回None的情况——操作类函数、查询类型函数中表示意料之外的缺失值
6、在执行失败时,相比返回None,直接抛出异常更合适。
7、如果提前返回结果可以提升可读性,就提前返回,不要去追求所谓的“单一出口”。

二、代码可维护性技巧

1、不要编写太长的函数,虽然长度没有强制标准,但65行是一个危险的信号。
2、圈复杂度是评估函数复杂程度的常用指标,一般超过10的函数都需要重构。
3、抽象与分层思想可以帮助我们更好地构建与管理复杂的系统。
4、同一个函数内的代码应该处于同一抽象级别

简单来说,按照职能、数据流、业务流进行分级分类,逐一递进,然后做模块和函数的抽象与划分,不要一股脑都写在一起。
比方说通过页面查询后端数据,就可以分解成接口View层、请求处理与参数校验层,以及数据查询抽象Data层。

三、函数与状态

1、没有副作用的无状态纯函数比较易于理解、维护,但大多数时候“状态”不可避免。
2、避免使用全局变量给函数增加状态。
3、当函数状态较为简单时,可以使用闭包技巧

所谓闭包技巧,就是在函数内再定义一个函数,而后使用nonlocal来对外层函数的状态记录变量进行更新,举例:

def counter():value = 0def _counter():# nonlocal 用来标注变量来自上层作用域,如果不标明,内层函数将无法直接的修改外层函数变量nonlocal valuevalue += 1return valuereturn _counter> c = counter()
> c()
1
> c()
2
> c2 = counter()
> c2()
1

4、当函数需要较为复杂的状态管理时,建议定义类来管理状态。

四、语言机制对函数的影响

1、functools.partial()可以用来快速构建偏函数。
2、functools.lru_cache()可以用来给函数添加缓存。
3、比起mapfilter,列表推导式的可读性更强。
4、lambda函数知识一种语法糖,可以使用operator模块等方式来替代它。
5、Python语言里的递归限制较多,可以的话,请尽量使用循环来替代。

参考内容:《Python工匠——案例、技巧与工程实践》

http://www.yayakq.cn/news/100574/

相关文章:

  • 卡盟建设vip网站wordpress插件如何使用
  • 如何域名解析网站建设有了域名怎么建网站
  • 昆明网站建设优化化妆品营销型网站模板
  • 网站开发需求模板模板电脑广告设计软件
  • 建设网站需要哪个软件响应式相册网站模板下载
  • 天津网站开发公司电话温州建设集团官网
  • 大连网站建设比较好的公司上海家政公司排名
  • 网站建设网站及上传网站收录怎么弄
  • 品牌网站设计制作哪家正规免费推广平台有哪些软件
  • aspcms网站模板对于一个确定的网和设计方案
  • 网站主机一般选哪种的国外网站布局
  • 医疗网站搭建曲阜网站建设
  • 郑州市做网站的公司密云石家庄网站建设
  • 网站开发设计注册网站建设黄页免费观看
  • 在网站服务器上建立数据库网站seo在线优化
  • 山东网站建设设计公司h5网站开发的文献综述
  • 网站模板安装网站目录创建下载链接
  • 津南天津网站建设wordpress 点击文章图片
  • 重庆平台网站建设平台网站做生鲜线下推广建议
  • 网站建设公司做销售前景好不好?关键字查找
  • 长春企业公司网站建设网站开发 土木
  • 电脑搭建网站步骤删除重装wordpress
  • 东莞数据线厂家东莞网站建设wordpress结算加载太慢
  • 百度给企业做网站吗合肥seo网站推广外包
  • 什么网站可以申请做汉语老师内蒙古呼和浩特
  • 网站 排版模板大学生创意产品设计方案
  • 软文网站外包网站 图片延时加载
  • 0建设营销型网站步骤介绍宝安区建设工程交易服务中心
  • 如何修改网站图片青岛建站模板厂家
  • 商业网站建设软件用网站做的简历