一、什么是函数?

在数学中,x2+2x2+3=10这样的叫方程。

而ax2+bx2+c=d这样的才叫函数。数学的函数中,abcd等待输入的未知量叫自变量,它需要我们自己去输入,而x这种待求得未知量叫因变量。

python中的函数定义是:一段能够重复某种功能的代码段。它能够根据调用者输入的不同变量,运行相同的逻辑,从而得出不同的计算结果。函数的计算过程对于调用者来说是一个黑盒子。

用ax2+bx2+c=d来说明。为了使ax2+bx2+c=d变得能够重复利用,程序员把这个函数的解决方案详细的编写了出来,然后封装成一个函数X。往后如果有人想计算一元二次方程,只需要拿这个开发好的函数X,往里面输入具体的abcd,这样X就会自动把方程的解x返回。这个就是函数。

函数让代码的重用变得简单。

二、定义函数

其中,myfunc是函数名,args是这个函数的参数,如同上面的abcd一样,需要调用者认为确定。

三、函数的返回值

函数的返回值用return关键字标示,如果函数中没有return语句,那么函数会隐式地返回None。所以,python中的函数是一定会有返回值的。

示例:

四、函数与函数调用

python中一切都是对象,函数也是对象。函数是指函数名指向的逻辑代码这个对象,而函数调用是需要在函数后面加上参数元组,用来执行函数中的代码。函数与函数调用是不一样的概念,理解这一点在后面函数的高级应用中是非常重要的。

示例:

五、函数的参数

函数定义是传入的参数叫形参,形参一般是无指向的变量名(默认参数有指向);函数真正调用时传入的参数叫实参,实参必须是有指向的变量。

函数的参数可以分为几种类型:

(1)位置参数:所有的参数都是位置参数,定义时的形参按照位置排列,调用时实参也按照相应位置输入,函数就不会出错。

(2)必要参数:必要参数是从调用实参的角度来定义的。必要是指,你必须为这个参数传入一个有指向的变量,因为这个参数在定义时没有赋默认值,如果你不输入有指向的变量,那么函数会无法正常运行。

(3)默认参数:默认参数也是从调用实参的角度来定义的。默认参数就是指在函数定义时传入的变量已经指向了一个具体的对象,那么调用者在调用时如果没有为这个参数传入一个有指向的变量,函数就会自动地用默认值执行函数而不会出错。(必要参数与默认参数地集合就是所有的参数)

以range(start,end,step=1)为例,start与end就是必要参数,step就是默认参数。

(4)关键字参数:

关键字参数是从调用实参的角度来定义的。关键字参数就是,调用时可以直接为形参的变量名直接赋值而不用按照对应的顺序。以range(start,end,step=1)为例,调用是可以:range(end=5,start=1),效果与range(1,5)一样。在函数参数比较多的时候,关键字参数在调用时会显得特别方便。

——————本篇完!

11、python中的函数(基础)的更多相关文章

  1. python学习之【第八篇】:Python中的函数基础

    1.前言 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2.函数的定义 定义函数时需要遵守以下规则: 函数代码块以 def 关键词开头 ...

  2. python中的函数(基础)

    1.什么是函数 函数是指将一组数据的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用函数名即可 (函数就是对功能或者动作的封装) 2.函数的语法和定义 def 函数名() 函数体 调用: ...

  3. Python中利用函数装饰器实现备忘功能

    Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下   " ...

  4. python中range()函数的用法

    python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...

  5. python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)

    //2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...

  6. Python中split()函数的用法及实际使用示例

    Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...

  7. Python 中的函数

    学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数是结构化编程的核心.我们使用函数可以增加程序的可读性.自定义函数时使用关键字def 函数由多条语句组成.在定义函数 ...

  8. python中format函数

    python中format函数用于字符串的格式化 通过关键字 1 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 2 grade = {'nam ...

  9. Python中readline()函数 去除换行符

    从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...

随机推荐

  1. linux下的idea的界面问题,错位以及各种...

    问题 ’ 方法 主题设置为GTK,多余的点会消失,而且字体也会好很多

  2. asp.net MVC 4.0 Controller回顾——ModelBinding实现过程

    以DefaultModelBinder为例 为简单模型绑定(BindSimpleModel)和复杂模型绑定(BindComplexModel) public virtual object BindMo ...

  3. flask SQLAlchemy--column 列的类型

    最常用的SQLAlchemy列类型 类型名 Python类型 说 明 Integer int 普通整数,一般是 32 位 SmallInteger int 取值范围小的整数,一般是 16 位 BigI ...

  4. 完美解决Android在listview添加checkbox实现单选多选操作问题

    在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上看上去只是改变checkbox那么简单,然而实际开发中,实现起来并不是那么得心应手.尤其当 ...

  5. linux 修改myql 编码配置等信息参考

    mysql 配置: 1:编辑配置文件: vi /etc/my.cnf 2:修改配置如下: [client] password        = 123456 port            = 330 ...

  6. springBoot jpa uuid生成策略

    实体类 import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; @Entity @Table(na ...

  7. Hadoop 分片、分组与排序

    首先需要明确的是,hadoop里的key一定要是可排序的,要么key自身实现了WritableComparator接口,要么有一个排序类可以对key进行排序.如果key本身不实现WritableCom ...

  8. LeetCode Merge Two Sorted Lists 归并排序

      题意: 将两个有序的链表归并为一个有序的链表. 思路: 设合并后的链表为head,现每次要往head中加入一个元素,该元素要么属于L1,要么属于L2,可想而知,此元素只能是L1或者L2的首个元素, ...

  9. java Vamei快速教程12 类型转换和多态

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们之前使用类创造新的类型(type),并使用继承来便利我们创建类的过程.我将在这 ...

  10. webpack打包过程如何调试?

    本文适用于已经会使用webpack的前端开发人员,但是想进一步了解webpack细节和进阶. 首先请读者按照我前一篇文章 Webpack 10分钟入门介绍的步骤,在本地搭建一个webpack的hell ...