码迷,mamicode.com
首页 > 其他好文 > 详细

什么是函数,干嘛啊,怎么干。一个py程序员的视角.md

时间:2020-02-28 13:39:18      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:elf   你知道   false   通过   pre   精确   href   函数定义   bool   

什么是函数,干嘛啊,怎么干。一个py程序员的视角.md

前言

本文参考

https://www.runoob.com/python/python-functions.html

本质

math definition

y = f(x)

这里的f 就是函数。

你给f 一点参数,f 给你返回 使用这个参数x 后的结果y

py definition

def functionname( parameters ):
   function_suite
   return [expression]

or 你看到如下:

class Solution:
    def fizzBuzz(self, n: int) -> List[str]:
       # your code here

class 是类,是对象的蓝本

我们首先看到 class 声明,他的意思是,Solution 是一个现实世界玩意的计算机表示。

这里 Solution 就是 解决 leetCode 某道题目的 蓝本,这个蓝本里,你定义了解决问题的方式,

这个方式,方法, method or function ,中文把它称为 “函数”

回到函数

现在你知道,一个函数是定义了: 一个对象 能干的事情。

比如,我是人, eat 就是我的能干的事情。(而且 eat 之前,我会张开嘴)

class Human:
    def eat(self, 蛋糕: 甜点类食品) -> Boolean:
        for allTheCake in TheWorld:
            self.openMouth()
        def openMouth():# 一个函数里 还能定一个 子函数: 一个事情的包含的详细步骤
            print("Human Always open mouth before they eat!")
        return false # 吃蛋糕,我还没吃饱

so, 你看到,作为一个人,我会eat ,而且我 eat 要有参数地eat,我吃蛋糕(属于甜点类食品)

蛋糕: 甜点类食品 一如 n: int, 这是py 的传递参数给一个function(or call it: method,behaviour)的约定

aka:n: int == yourParam: TheTypeOfParam.

通过 函数定义,当新的上帝改造人类,并且他想要更改 Human 的 eat 行为,于是,新上帝就可以如下修改

class Human:
    def eat(self, 葡萄糖: 直接消化类食品) -> int:
        for allTheCake in TheWorld:
            self.injection()
        def injection():
            print("Human now use ??针头?? before they eat!")
        return 80 # 注射葡萄糖是更加高效,新上帝规定 这个aciton可以令人类达到80%饱腹感, 他设定了新的 eat 行为返回 一个精确的数值,而不是饱或者不饱 的boolean 值

一个结论

现在你可以这样去看 使用py3 的上帝,是这样定义他的human 能发生的 aciton 的

class Human:
    def action(theThing1YourNeedForAction: theThing1Type, theThing2YourNeedForAction: theThing2Type, /*more if god like*/) -> theReturnTypeOfThisAction:
        # 这里是本个 action/ function 自己内部的处理

以上就是py世界里函数的定义

什么是函数,干嘛啊,怎么干。一个py程序员的视角.md

标签:elf   你知道   false   通过   pre   精确   href   函数定义   bool   

原文地址:https://www.cnblogs.com/paulkg12/p/12376662.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!