洗礼灵魂,修炼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__()是魔法方法,后面会提到,这里暂且不说
好的,函数这一块有很多重要的知识点,我觉得还是应该分开讲解,这样更好理解和掌握,所以本篇博文就到这里
洗礼灵魂,修炼python(20)--自定义函数(1)—基础概念的更多相关文章
- python的自定义函数
今天想把上次参考着网上教程写的scrapy爬虫改写成requests和beautifulsoup的普通爬虫,写着写着发现自己对python的自定义函数还不是太熟悉(自己TCL了.........流泪) ...
- Python学习教程(learning Python)--2.1 Python下自定义函数
在Python里可以自定义函数,实现某特定功能,这里首先要区分一下函数的定义和函数的调用两个基本概念,初学者往往容易混淆. 函数的定义是指将一堆能实现特定功能的语句用一个函数名标识起来,而函数的调用则 ...
- 11、python中的函数(基础)
一.什么是函数? 在数学中,x2+2x2+3=10这样的叫方程. 而ax2+bx2+c=d这样的才叫函数.数学的函数中,abcd等待输入的未知量叫自变量,它需要我们自己去输入,而x这种待求得未知量叫因 ...
- Python应用——自定义函数:分割PDF文件函数
案例 将一个 pdf 文件按要求分割为几个部分.比如说一个pdf有20页,分成5个pdf文件,每个pdf文件包含4页.设计函数实现? Python代码 from PyPDF2 import PdfFi ...
- Python之自定义函数
函数 1.定义函数 在Python中定义一个函数要使用def语句,一次写出函数名.括号.括号中的的参数和冒号,然后在缩进块中编写函数体,函数的返回值用return返回.如下所示: def 函数名(参数 ...
- 初识python: 自定义函数
什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 函数的定义方法: def test(x): '函数定义方法' x+=1 r ...
- 【python】自定义函数def funName():
- python学习9 函数的基础知识
1.函数的定义 def func(): 2.函数的调用 func() 3.函数的返回值 #1.没有返回值 # (1)不写return # (2)只写return后面的代码不在继续执行,返回空,代表结 ...
- python学习笔记——多进程一 基础概念
1 进程 进程:程序的一次(从开始到结束)执行过程,属于一个动态过程.是系统进行资源分配和调度的基本单位. 程序:指的是一个文件,磁盘中可执行的代码.属于一个静态文件 注:进程运行时需要把程序加载如内 ...
- python学习之--自定义函数:
Python之--自定义函数: 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 以下自定义 ...
随机推荐
- Nginx + Keepalived负载均衡
第一步: 下载keepalived地址:http://www.keepalived.org/download.html 解压安装: tar -zxvf keepalived-1.2.18.tar.gz ...
- linux系统中的文件权限详解(转)
一.在<Linux系统中如何查看文件属性>中介绍了通过ls指令来查看文件的属性,具体如下: [命令] letuknowit@ubuntu:/$ cd /tmp letuknowit@ubu ...
- Python 解析har 文件将域名分类导出
前言 作为程序员平时主要是使用 shadowsocks 作为代理工具的.shadowsocks 有个很明显的优点儿就是可以设置白名单和黑名单.白名单是会走shadowsocks的自动代理模式. 遇到的 ...
- mac下nginx搭建
首先使用brew安装nginx brew install nginx 安装完毕后,如果我们要使用nginx监听本地的80端口,需要改掉mac自带的apache占用的80端口 sudo vim /etc ...
- C++中的字符串可以这样换行写
运行结果:
- SaltStack数据系统-Pillar详解
1:存储位置 存储在master端,存放需要提供给minion的信息 每个minion只能访问master分配给自己的(应用场景) 2:在centos7 salt 2015.5.10 (Lithium ...
- JavaWeb总结(国税)
一.JavaWeb示例 1.1.Servlet Hello World&IDEA创建第一个Servlet 新建项目 选择maven 组织名与项目名 位置,完成 允许自动导入包 添加框架支持,变 ...
- C#中的Action和Func和Predicate
一.[action<>]指定那些只有输入参数,没有返回值的委托 用了Action之后呢: 就是相当于省去了定义委托的步骤了. 演示代码: using System; using Syste ...
- [PHP] 算法-统计一个数字在排序数组中出现的次数的PHP实现
统计一个数字在排序数组中出现的次数. 1.有序的数组查找,使用二分法 2.二分法查找第一次出现的位置,二分法查找最后一次出现的位置,end - start +1 left=getLeft(data,k ...
- canvas学习和滤镜实现
最近学习了 HTML5 中的重头戏--canvas.利用 canvas,前端人员可以很轻松地.进行图像处理.其 API 繁多,这次主要学习常用的 API,并且完成以下两个代码: 实现去色滤镜 实现负色 ...