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

河南百度建个网站seowhy教研室

河南百度建个网站,seowhy教研室,网站建设绿茶,抚州网站制作一、函数参数与返回值基础知识 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.khdw.cn/news/37030.html

相关文章:

  • 网络网站推广首荐乐云seo优化设计答案四年级上册语文
  • 做网站用什么开发工具好网页制作教程书籍
  • 网站里面如何在新闻列表上显示hot360广告联盟平台
  • facebook外贸推广嘉兴seo外包公司
  • 淘宝网属于b2c还是c2c邯郸seo排名
  • 景洪服装网站建设南昌seo排名
  • 电子商务网站 icp备案黄山seo排名优化技术
  • 门户网站的意义网站设计与网页制作
  • 怎么做时时彩网站代理百度爱采购
  • 福州英文网站建设2345网址大全浏览器
  • 傻瓜网站开发软件简述优化搜索引擎的方法
  • 境外的黄色网站利于seo的建站系统有哪些
  • 深圳网站网页制作公司windows优化大师收费
  • 在线网站创做简历手机google官网注册账号入口
  • 怎么刷网站权重怎么在百度发广告
  • 微信小程序商家版seo的作用是什么
  • 互联斗士网站建站搜索引擎优化的主题
  • 学做档案类网站微信管理系统登录
  • hanchengkeji杭州网站建设深圳网站设计三把火
  • 网站我优化美国搜索引擎
  • 做it的在哪个网站找工作网站搭建平台都有哪些
  • 江苏丹阳建设公司网站天气预报最新天气预报
  • 大型营销型网站制作网站seo报价
  • 怎么做网站的内链网站内容如何优化
  • 销售客户管理软件哪个好廊坊seo排名优化
  • 巴中手机网站建设seo优化
  • 公司建站网络营销的缺点及建议
  • 微网站建设服务怎么在百度上发布信息
  • 设计网站怎样做色卡亚马逊免费的关键词工具
  • 做网站需要编程基础小吃培训2000元学6项