大家好,我是梁同学。

今天给大家的话题是如何使用def函数创建一个函数。

目录

第一章 什么是函数

第二章 函数的参数

1.无参数

2.单参数

3.多参数

第三章 函数返回值

1.无返回值

2.单返回值

3.多返回值

第四章 调用函数

1.无返回值调用

2.单返回值调用

3.多返回值调用

第五章 拓展

1.全局变量和局部变量

2.global函数

第一章-什么是函数

函数,指一段预先写好的代码,在程序运行时可以随时使用。

函数一般用于重复某一段相同代码时,执行该代码可以调用函数。

在Python中,可以使用def创建函数。

函数分为内置函数和非内置函数。

内置函数:如int,if等,由Python官方设置。

今天我们要学习自己创建函数。

第二章-函数的参数

设置函数的参数,可以填写def后面的括号。

1.无参数

无参数的函数是最简单的函数,直接书写def():就可以了。

例如下面的无参数函数:

def a():print("hello world!!!")

格式如下:

def 函数名():

语句1

语句2

......

语句n*

无参数函数不需要接收传入的值,所以无法进行数学计算等需要不同参数的操作。

*以下章节中,这些语句简写为"语句"。

2.单参数

单参数函数较简单,不过较无参数函数还是有较明显的区别。

例如下面的单参数函数:

def a(num):print(num*-1)

格式如下:

def 函数名(参数):

语句

单参数函数可以传入一个值,比较适合简单的运算。

3.多参数

多参数函数可接收多个值,较前两个函数有一定区别。

例如下面的多参数函数:

def a(numx,numy,numz):print(numx+numy+numz)

格式如下:

def 函数名(参数1,参数2,......,参数n*):

语句

多参数函数可以传入两个及以上的值,适合高级运算。

*以下章节中,这些参数简写为"参数"。

第三章-函数返回值

设置函数返回值,可以设置函数的return语句。

1.无返回值

无返回值是最基本的函数,不需要书写return语句。

上一章的示例代码都是无返回值函数,故此处不再举例阐述。

无返回值函数缺点比较明显,在需要函数外进行后续处理时,建议不要使用无返回值函数。

2.单返回值

单返回值函数较无返回值函数有很大区别,需要使用return语句。

例如下面的单返回值函数:

def a(numx,numy):xy = numx+numyreturn xy

格式如下:

def 函数名(参数):

语句

return 返回值

return语句的返回值会存储在调用函数时的变量里,见第四章第二节"单返回值调用"。

单返回值是最常见的函数,非常常见,比较建议使用。

3.多返回值

多返回值函数多用于多个数据需要进行后续计算时。

例如下面的多返回值函数:

def a(numx,numy):xy1 = numx+numyxy2 = numx-numyreturn xy1,xy2

格式:

def 函数名(参数):

语句

return 返回值1,返回值2,......,返回值n

多返回值函数return语句的返回值同样会存储在调用函数时的变量里,见第四章第三节"多返回值调用"。

多返回值函数多用于多个数据进行后续处理时,比较好使用。

第四章-调用函数

函数写好了,现在看一下如何调用函数。

1.无返回值调用

无返回值函数调用时,直接书写函数名(参数)就可以了,不需要其他操作。

例如下面:

​def printx():print("Welcome to IDLE Python 3.9!")
printx()

2.单返回值调用

单返回值函数调用时,需要书写变量名=函数名(参数),变量里保存返回值。

例如下面:

def jisuan(m,n):return m**n
mn = jisuan(3,4)

运行函数时,返回值会自动保存到变量中。

3.多返回值调用

多返回值函数调用时,需要书写与返回值数量相同的变量,返回值会按照顺序保存在每个变量中。

例如下面:

def jisuan(x,y):a = x*yb = x**yc = x/yd = x//yreturn a,b,c,d
i,j,k,l = jisuan(10,6)

运行函数时,返回值会按顺序存放到变量中。

注意:return语句返回值数量和接收返回值的变量数量一定要相同。

第五章-拓展

本章为在函数中的一些拓展知识。

1.全局变量和局部变量

在Python中,全局变量和局部变量是不同的。在运行完函数后,局部变量会被释放。

例如上一例,a,b,c,d都是局部变量,函数运行完毕后就被释放了,无法在全局中使用。

例如,运行完上一例程序后,再执行print(a),程序就会报错。

还是上一例,这里的i,j,k,l就是全局变量,可以在全局通用。

下一节,我会介绍如何把全局变量"搬到"函数里来用。

2.global函数

我们在把全局变量"搬到"函数里使用时,可以调用Python自带的函数(口误,内置函数)global。

例如下面的例子:

a = -1
def fushu(num):global ax = num*areturn x
b = fushu(7)

第三行的global,将全局变量a带入函数中使用,第四行就可以利用a进行运算了。

同样的方法也可以用在class(类)中。

好了,今天就发到这里。发了两千多字,我好累呀,让我休息一下。

点击蓝字,打开CSDN-专业开发者社区官网。或者直接输入https://www.csdn.net访问网址。

Python基础知识:def创建函数相关推荐

  1. python使用复合语句def创建函数对象_Python 纯函数

    Python 纯函数,函数式编程简洁明了,因为函数可以用作其他函数的参数或者返回值,后续会给出很多这样的例子. 要做到这一点,函数必须是运行时环境中的头等对象.在C等语言中,函数不是运行时中的对象,然 ...

  2. python使用复合语句def创建函数对象_【收藏】Python实用技巧-成为Pythoner必经之路...

    前言 本文主要记录 Python 中一些常用技巧,所描述的是告诉你怎么写才是更好?  如果你并不熟悉Python语法,希望你能在下面代码片段中看到Python的简单.优雅; 如果你象我这样,对 Pyt ...

  3. Python基础知识:数据类型与函数

    Python3.x 1 数据类型 1.0 标准数据类型 Python3.x标准数据类型有6中,如下: 序号 数据类型 描述 1 数字 Number 2 字符串 String 3 列表 List 4 元 ...

  4. Python基础知识3:函数、三元函数、lambda函数

    函数:包含自定义函数.内置函数 1)自定义函数结构:包含五个部分:

  5. Python基础知识(input函数的使用、input函数的高级使用)

    input输入函数 #input使用age=input('请输入年龄') #定义一个变量名age,= 赋值运算符,input输入字符串 print(type(age)) #type类型 输出age的类 ...

  6. python程序如何执行死刑_「Python基础知识」Python生成器函数

    原标题:「Python基础知识」Python生成器函数 对于程序而言,内存也是很重要的,因为程序中很多数据都是保存在内存中的,如果内存中存储的数据过多,那么系统就会崩溃,这是人们不希望发生的. 可以采 ...

  7. python基础-基础知识(包括:函数递归等知识)

    老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值 空,None,0, False, ", [], {}, () 2.写函数: 根据范围获取其中 3 和 7 整除的 ...

  8. python基础知识资料-Python基础知识汇总

    原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...

  9. python基础知识资料-Python基础知识梳理 - 第02部分

    本文是Python基础知识的第二篇, 主要是对内置对象类型的介绍, 涉及的类型如下表. 数字类型 在Python中, 数字并不是一个真正的对象类型, 而是一组类似类型的分类, 如整数和浮点数, 复数等 ...

最新文章

  1. python怎么安装scrapy_python2.7安装Scrapy
  2. H264 TS/ES
  3. Python---寻找给定序列中相差最小的两个数字
  4. EXCEL2010经典用法全集(3)
  5. pcie usb3.0 驱动 for linux_微软WSL——Linux桌面版未来之光
  6. javascript基础之拖拽(1)(详细篇)--dataTransfer对象
  7. 华为关闭telnet命令_华为交换机关闭Telnet、开启SSH服务命令
  8. 【老生谈算法】matlab实现小波分析源码——小波分析
  9. 安卓手机修改ip软件_为什么苹果手机不用杀毒软件?安卓表示要哭了
  10. 微型计算机中NOP指令,PLC指令表
  11. 青春散场,永远的天王!
  12. ios微信公众号或浏览器滚动露底漏网址闪动无法固定
  13. Oracle WebLogic Server 12c: Node Manager配置与使用
  14. Java详解:java对象转json字符串不加引号
  15. BT宝塔面板安装流程(图文教程)
  16. 高防CDN和BGP高防有哪些区别和优势
  17. 通过虚拟机将kali linux 系统安装到U盘/移动硬盘
  18. 基于元胞自动机的森林火灾matlab模拟
  19. 笔记:flas请求处理
  20. 推荐学习方向及就业方向

热门文章

  1. 用html做完整网页效果
  2. Windows10 关于系统中断CPU占用过高导致电脑变卡的解决办法
  3. 新一代DaaS产品:数聚核DataN产品社区交流会 | 华坤道威专访
  4. Latex字体加粗不了
  5. 浏览器利用Webcam+Flash启用摄像头,并完成拍照
  6. 解决unity调用WebCam显示的拉伸
  7. 吴恩达深度学习笔记六:序列模型
  8. SendMessage用法
  9. Gamma校正及其实现
  10. Unity使用FBX Exporter导入导出动画及FBX