zoukankan      html  css  js  c++  java
  • 洗礼灵魂,修炼python(20)--自定义函数(1)—基础概念

    作为开发,那么我们前面学的那些知识其实够了,但是不够精简,也不好维护,比如需要打印斐波那契数列:

    而当我们需要再次打印斐波那契数列,又要把这段代码加上,是不是很烦,有没有方法可以解决,当然可以,那就是自定义函数,你把斐波那契数列定义为一个函数,然后需要时调用函数就行,这样一劳永逸对不对?

    自定义函数

    1.作用:

    为了代码最大程度的重用和简化代码冗余而提供的基本程序结构,函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件,其用于将相关功能打包并参数化

    2.创建函数格式:
    def  yourfunctionname():

      suite

    这个格式其实不陌生,前面其实稍微的提了一下,不过没有细说

    例:就上面提到的斐波那契数列:

    3.在python中,可以创建4种函数:

    • 全局函数:定义在模块中,导入模块后的函数
    • 局部函数:嵌套在其他函数中,自定义函数内层还可以嵌套函数,这种则为局部函数
    • lambda函数:表达式,用完则过
    • 方法(非彼方法):与特定数据类型关联的函数,并且只能与数据类型关联一起使用,比如列表的方法等

    注意:自定义函数和变量原理一样,需要先创建,再调用

    前面的斐波那契数列可能来得猛了点,搞懵了吧?别急,下面看看简单的

    是不是很简单?如果这个你能看懂,那么恭喜你,基本懂了,再看稍微难的函数慢慢就懂了,照着这个简单的函数的模子来刻就是了。

    那么当你懂简单的用法后你会想更上一层楼,这是每个人的上进心在‘作怪’,所以你在想,这个代码还是太死了,我想让它活起来,加什么进去它就返回什么,是的,括号内是可以加参数的:

    也很简单对吧?

    可以加多个参数吗?当然可以:

    可以赋值给变量吗?你不废话吗?(/滑稽):

    问题来了?为何是None?

    None,表示空值,判断时始终为假,不为0,因为0是有意义的。

     因为我定义的函数只是打印啊,又没有存储的,如果这样的话是可以的:

    可以是可以了,这return是啥?

    return,单词意思是“返回”,这个关键词简直就是函数必不可少的,而且也被很多大牛说的【如果函数没有return,那么这个函数将毫无意义】,为什么这么说,你想,函数,如果不返回值,比如向上面的print语句的话,其实是不正统的,运用自定义函数的初衷,其实就是为了得到一个想要的结果而使用的,如果没有结果,那这个函数岂不是一个残的?

    注意:return即表示整个函数程序的结束,当函数程序内有return语句则返回,后面的语句则被跳过,例:

    上面的例子可以看出,return之前的和return之后的代码运行的结果是不同的

    好的,接着说,有人会想了,我定义好的函数,我怎么知道它可不可以被调用呢?那么这么这里就要说到一个函数—callable()

    callable()

    1.作用:

    可调用函数,用于测试定义的函数

    2.例:

    这个不可调用的例子举的有点牵强哈,不好意思,一时也没想起一个好例子,反正你知道这个函数可以测试你定义的函数能不能调用就行了

    对象后面加入小括号,即表示对其调用,在类那一块又会说到,加入小括号其实就是对其实例化的操作

    函数的调用,即使用了函数名.__call__(两边双下横线)特殊方法:

    这个__calll__()是魔法方法,后面会提到,这里暂且不说

    好的,函数这一块有很多重要的知识点,我觉得还是应该分开讲解,这样更好理解和掌握,所以本篇博文就到这里

  • 相关阅读:
    git变慢的原因
    MongoDB存储过程创建和使用一例
    关于小游戏的槛和限制
    【转载】如何查看本机电脑的公网IP
    【转载】C#如何获取DataTable中某列的数据类型
    【转载】C#的DataTable使用NewRow方法创建新表格行
    【转载】如何删除Windows远程桌面保存的账号密码数据
    【转载】 C#中ArrayList使用GetRange方法获取某一段集合数据
    【转载】 C#中常见的泛型集合类有哪些
    【转载】C#中使用Insert方法往ArrayList集合指定索引位置插入新数据
  • 原文地址:https://www.cnblogs.com/Eeyhan/p/7640683.html
Copyright © 2011-2022 走看看