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

纸箱 技术支持 东莞网站建设wordpress调用当着文章tag标签

纸箱 技术支持 东莞网站建设,wordpress调用当着文章tag标签,wordpress pot文件,做商城网站需要什么对于中级Python开发者来说#xff0c;了解了Python的基础语法、库、方法#xff0c;能够实现一些功能之后#xff0c;进一步追求的就应该是写出优雅的代码了。 这里介绍一个很有趣的概念“柯里化”。 所谓柯里化#xff08;Currying#xff09;是把接受多个参数的函数变换…对于中级Python开发者来说了解了Python的基础语法、库、方法能够实现一些功能之后进一步追求的就应该是写出优雅的代码了。 这里介绍一个很有趣的概念“柯里化”。 所谓柯里化Currying是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数并且返回接受余下的参数且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的。 引自 百度百科 这里我们举一个例子我们在初中的时候都学过自由落体在不考虑风阻的情况下物体在一定高度下落的时间是一定的。 计算公式是时间 开平方2 * 高度 / 重力加速度 如果我们要用python实现这个函数 def fall_time(height)return math.sqrt(2 * height * 9.8)但是实际上 重力加速度G的值是随着纬度不同发生变化的。 我们中学的时候只是取了一个近似值。实际上当要求计算精度的时候 赤道上应该是9.78南北极是9.832。这中间可是差着0.5呢。 此时我们有些同学觉得这个简单两个参数不就行了于是就出现了如下方法 def fall_time_with_ga(height, ga):return math.sqrt(2 * height * ga)这样做虽然没问题 但是写代码的时候参数太多了。 一旦你要计算多个数值的时候就会出现如下的代码 print(fall_time_with_ga(100, 9.80122)) print(fall_time_with_ga(200, 9.80122)) print(fall_time_with_ga(300, 9.80122))还记得我们为什么学Python么Python的重要特性之一就是优雅干净。为此田辛老师希望柯里化这个函数降低函数的参数数量这时候我们用到的内部函数的办法 def fall_time_setup(ga:float):def fall_time(height:float):return math.sqrt(2 * height * ga)return fall_time对于这个函数相对来说调用的时候就简单多了。 beijing fall_time_setup(9.80122) # 首先设定重力加速度的值 真正计算的时候只关心高度即可 print(beijing(100)) print(beijing(200)) print(beijing(300))这样调用起来思路就清晰多了。 那有些同学可能会说 调用思路清晰了。 可是函数本身复杂了呀。 整个函数本来两行的现在四行了不优雅!!! 这里田辛老师就要说用后一种方法函数体写成两行也没问题。 仔细观察改造后的这个函数。 fall_time这个内部函数的函数名是不是在调用的时候自始至终没有被使用过我们是不是可以用一个匿名函数去取代它。 要知道Python是支持lambda的呦~ lambda的语法是lambda arguments : expression 于是新的函数诞生了 def fall_time_setup_bylambda(ga:float)-float:return lambda height : math.sqrt(2 * height * ga)调用部分的代码和刚才的调用一模一样。 OK下面是前面所有的代码以及调用可以直接保存 .py 文件看看效果。 # 如何在 Python 中使用“柯里化”编写干净且可重用的代码import mathdef fall_time(height: float) - float:计算物体下落时间强制按照北京的重力加速度设定:param: height: 物体所处高度return math.sqrt(2 * height * 9.80122)print(fall_time(100)) print(fall_time(200)) print(fall_time(300))def fall_time_with_ga(height, ga):计算物体下落时间考虑到重力加速发生变化作为形参传入:param: height: 物体所处高度return math.sqrt(2 * height * ga)print(fall_time_with_ga(100, 9.80122)) print(fall_time_with_ga(200, 9.80122)) print(fall_time_with_ga(300, 9.80122))def fall_time_setup(ga: float):计算物体下落时间考虑到重力加速发生变化并且为了代码简洁做了柯里化的处理:param: height: 物体所处高度def fall_time(height: float):return math.sqrt(2 * height * ga)return fall_timebeijing fall_time_setup(9.80122) # 首先设定重力加速度的值 真正计算的时候只关心高度即可 print(beijing(100)) print(beijing(200)) print(beijing(300))def fall_time_setup_bylambda(ga: float) - float:计算物体下落时间,使用匿名函数return lambda height: math.sqrt(2 * height * ga)beijing fall_time_setup_bylambda(9.80122) print(beijing(100)) print(beijing(200)) print(beijing(300))
http://www.dnsts.com.cn/news/48299.html

相关文章:

  • wordpress 中文文件企业网站改版seo
  • 石家庄网站建设公司排名松原企业网站建设
  • 优化网站收费标准广西棋牌软件开发公司
  • asp响应式h5网站源码下载公司经营范围有哪些
  • 湘潭网站建设 磐石网络荣誉商务网页
  • 电商网站里的水果图片怎么做的平面设计图片创意手绘
  • 个人网站代码编写驾校网站建设关键词
  • 温州网站优化wordpress修改了访问地址
  • 在线教育网站开发方案wordpress 文章插件
  • 怎么做网站登录界面渝中集团网站建设
  • 企业网站有哪些举例网站建设详细工作汇报
  • 公司手机网站模板免费下载沛县可以做网站的单位
  • 网站倒计时效果图制作流程
  • 网站建设深圳赶集网linux wordpress 空白
  • 范县网站建设价格校园网站建设素材
  • 猪八戒设计网站如何做兼职珠海网站搭建
  • 微商城网站建设新闻北京门户网站制作费用
  • 游戏卡充值可以做网站吗网站建设公司宣传文案
  • 专业人士怎样建网站企业软件开发公司
  • .net开发的网站 能做成app吗网页模板wordpress
  • 网站建设与管理用什么软件有哪些方面网络舆情应急处置预案
  • wordpress vieu青岛网站seo优化
  • 网站三网合一案例最近韩国电影片免费观看
  • 嘉兴网站建设方案策划wordpress图片搬到聚合图床
  • 网站简繁体转换js媒体营销
  • 网站手机客户端制作药品网上商城
  • 网站备案时间会过期吗装修免费预约平台
  • 建设网站需要学习什么excel导入wordpress
  • app网页制作教程百度seo关键词怎么设置
  • 站长之家官网入口昆明网站建设开发外包