python中def是做什么的


Posted in Python onJune 10, 2020

Python使用def开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的 具体功能实现代码,如果想要函数有返回值, 在expressions中的逻辑代码中用return返回。

基本使用

def function_name(parameters):
   expressions

实例

def function():
print('This is a function')
a = 1+2
print(a)

上面我们定义了一个名字为 function 的函数,函数没有不接受参数,所以括号内部为空,紧接着就是 函数的功能代码。如果执行该脚本,发现并没有输出任何输出,因为我们只定义了函数,而并没有执行函数。 这时我们在 Python 命令提示符中输入函数调用 function(), 注意这里调用函数的括号不能省略。那么 函数内部的功能代码将会执行,输出结果:

This is a function
3

如果我们想要在脚本中调用的脚本,只需要在脚本中最后添加函数调用语句

1 function()

那么在执行脚本的时候,将会执行函数。

DEF函数参数

我们在使用的调用函数的时候,想要指定一些变量的值在函数中使用,那么这些变量就是函数的参数,函数调用的时候, 传入即可。

基本使用

def function_name(parameters):
expressions

parameters 的位置就是函数的参数,在调用的时候传入即可。

#实例

def func(a, b):
c = a+b
print('the c is ', c)

在这里定义的一个函数,其参数就是两个数值,函数的功能就是把两个参数加起来。运行脚本后,在 Python 提示符内调用函数 func, 如果不指定参数 func(), 那么将会出错; 输出 func(1, 2),将 a=1, b=2 传入函数,输出 the c is 3 。所以在调用函数时候,参数个数和位置一定要按照函数定义。如果我们忘记了函数的参数的位置,只知道各个参数的名字,可以在 函数调用的过程中给指明特定的参数 func(a=1, b=2), 这样的话,参数的位置将不受影响,所以 func(b=2,a=1)是同样的 的效果。

DEF函数默认参数

我们在定义函数时有时候有些参数在大部分情况下是相同的,只不过为了提高函数的适用性,提供了一些备选的参数, 为了方便函数调用,我们可以将这些参数设置为默认参数,那么该参数在函数调用过程中可以不需要明确给出。

#基本使用

def function_name(para_1,...,para_n=defau_n,..., para_m=defau_m):
expressions

函数声明只需要在需要默认参数的地方用 = 号给定即可, 但是要注意所有的默认参数都不能出现在非默认参数的前面。

#实例

def sale_car(price, color='red', brand='carmy', is_second_hand=True):
print('price', price,
'color', color,
'brand', brand,
'is_second_hand', is_second_hand,)

在这里定义了一个 sale_car 函数,参数为车的属性,但除了 price 之外,像 color, brand 和 is_second_hand 都是有默认值的,如果我们调用函数 sale_car(1000), 那么与 sale_car(1000, 'red', 'carmy', True) 是一样的效果。当然也可以在函数调用过程中传入特定的参数用来修改默认参数。通过默认参数可以减轻我们函数调用的复杂度。

基础知识点补充:

def

自定义函数的必要函数:def

使用方法:

def 函数名(参数1,参数2,参数…):
 函数体(语句块)
 return [返回值]

注意事项

  • 函数名的命名规则:和标识符的基本规则是一样的,基本上由小写字母和数字下划线构成
  • def 是关键字,不能够修改(define的简称)
  • 函数后面一定要加括号(英文状态的)括号里面是否加参数看具体情况
  • 括号后面的冒号不能够忘记
  • 函数体必须加上缩进(建议4个空格)

到此这篇关于python中def是做什么的的文章就介绍到这了,更多相关python中def是什么内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
gearman的安装启动及python API使用实例
Jul 08 Python
开始着手第一个Django项目
Jul 15 Python
Python网络编程之TCP套接字简单用法示例
Apr 09 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
python+pyqt5实现图片批量缩放工具
Mar 18 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
使用python模拟高斯分布例子
Dec 09 Python
python实现拼接图片
Mar 23 Python
jupyter修改文件名方式(TensorFlow)
Apr 21 Python
Python requests接口测试实现代码
Sep 08 Python
Python实现迪杰斯特拉算法过程解析
Sep 18 Python
Python使用struct处理二进制(pack和unpack用法)
Nov 12 Python
keras实现调用自己训练的模型,并去掉全连接层
Jun 09 #Python
Python基于os.environ从windows获取环境变量
Jun 09 #Python
新手学习Python2和Python3中print不同的用法
Jun 09 #Python
Python基于wordcloud及jieba实现中国地图词云图
Jun 09 #Python
Python中的__init__作用是什么
Jun 09 #Python
python小白学习包管理器pip安装
Jun 09 #Python
Python小白垃圾回收机制入门
Jun 09 #Python
You might like
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
JSON辅助格式化处理方法
2013/03/26 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
Python实现高效求解素数代码实例
2015/06/30 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
对Python3 序列解包详解
2019/02/16 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
Django 静态文件配置过程详解
2019/07/23 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
CNC数控操作工岗位职责
2013/11/19 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
诚信考试承诺书
2014/03/27 职场文书
《分一分》教学反思
2014/04/13 职场文书
节水倡议书范文
2014/04/15 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
学校教师培训工作总结
2015/10/14 职场文书
外出考察学习心得体会
2016/01/18 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python
Python中time与datetime模块使用方法详解
2022/03/31 Python
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js
keepalived + nginx 实现高可用方案
2022/12/24 Servers