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

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

自定义函数

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__()是魔法方法,后面会提到,这里暂且不说

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

洗礼灵魂,修炼python(20)--自定义函数(1)—基础概念的更多相关文章

  1. python的自定义函数

    今天想把上次参考着网上教程写的scrapy爬虫改写成requests和beautifulsoup的普通爬虫,写着写着发现自己对python的自定义函数还不是太熟悉(自己TCL了.........流泪) ...

  2. Python学习教程(learning Python)--2.1 Python下自定义函数

    在Python里可以自定义函数,实现某特定功能,这里首先要区分一下函数的定义和函数的调用两个基本概念,初学者往往容易混淆. 函数的定义是指将一堆能实现特定功能的语句用一个函数名标识起来,而函数的调用则 ...

  3. 11、python中的函数(基础)

    一.什么是函数? 在数学中,x2+2x2+3=10这样的叫方程. 而ax2+bx2+c=d这样的才叫函数.数学的函数中,abcd等待输入的未知量叫自变量,它需要我们自己去输入,而x这种待求得未知量叫因 ...

  4. Python应用——自定义函数:分割PDF文件函数

    案例 将一个 pdf 文件按要求分割为几个部分.比如说一个pdf有20页,分成5个pdf文件,每个pdf文件包含4页.设计函数实现? Python代码 from PyPDF2 import PdfFi ...

  5. Python之自定义函数

    函数 1.定义函数 在Python中定义一个函数要使用def语句,一次写出函数名.括号.括号中的的参数和冒号,然后在缩进块中编写函数体,函数的返回值用return返回.如下所示: def 函数名(参数 ...

  6. 初识python: 自定义函数

    什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 函数的定义方法: def test(x): '函数定义方法' x+=1 r ...

  7. 【python】自定义函数def funName():

  8. python学习9 函数的基础知识

    1.函数的定义 def  func(): 2.函数的调用 func() 3.函数的返回值 #1.没有返回值 # (1)不写return # (2)只写return后面的代码不在继续执行,返回空,代表结 ...

  9. python学习笔记——多进程一 基础概念

    1 进程 进程:程序的一次(从开始到结束)执行过程,属于一个动态过程.是系统进行资源分配和调度的基本单位. 程序:指的是一个文件,磁盘中可执行的代码.属于一个静态文件 注:进程运行时需要把程序加载如内 ...

  10. python学习之--自定义函数:

    Python之--自定义函数: 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 以下自定义 ...

随机推荐

  1. Comparable接口和Comparator接口的不同用法

    两者都可用来在定义比较方法,然后用在排序中. Comparable是类本身继承的接口 Comparator实在类外定义一个排序的类 比较而言,觉得Comparator更灵活一些,但是Comparabl ...

  2. 13-02 Java 数组高级算法,Arrays类

    冒泡排序 冒泡排序原理 冒泡排序代码: package cn.itcast_01; /* * 数组排序之冒泡排序: * 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 */ pub ...

  3. flask 压缩json

    这样返回的json会被压缩

  4. epoll的ET和LT模式

    epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT). 在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用 ...

  5. idea中切换svn地址不起作用

    由于公司换地儿,svn地址也跟着变化. 期望用idea能修改svn的地址,不至于重新checkout.网上很多说修改 vcs -> Subversion -> Relocate .把原来的 ...

  6. Golang GC原理

    一.内存泄漏 内存泄露,是从操作系统的角度上来阐述的,形象的比喻就是“操作系统可提供给所有进程的存储空间(虚拟内存空间)正在被某个进程榨干”,导致的原因就是程序在运行的时候,会不断地动态开辟的存储空间 ...

  7. process_begin: CreateProcess(NULL,......) make (e=87): 参数错误。

    在编译 trinity-android 的过程中,总是报 process_begin: CreateProcess(NULL,......) make (e=87): 参数错误 原因是.MK文件中包含 ...

  8. python机器学习笔记 ID3决策树算法实战

    前面学习了决策树的算法原理,这里继续对代码进行深入学习,并掌握ID3的算法实践过程. ID3算法是一种贪心算法,用来构造决策树,ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性 ...

  9. python——字符串格式化

    字符串的基础位置预留(网上到处都是) Python用一个tuple将多个值传递给模板,每个值对应一个格式符 在模板和tuple之间,有一个%号分隔,它代表了格式化操作. 使用字典 当只有很少量的占位符 ...

  10. 共识算法之POW

    简介 POW是proof-of-work的缩写,中译为:工作量证明,是比特币中采用的共识机制,也被许多公有区块链系统所采用(比如以太坊).工作量证明机制基础是哈希运算,因此要理解pow首先要明白哈希函 ...