python3自定义函数(五分钟读懂)
自定义函数
'''
# 重复的事情不做两次# 函数
# 定义:1.函数就是完成特定功能的一个语句组。
# 2.这语句组可以作为一个单位使用(并且给它取一个名字)
# 调用:1.通过函数名在程序的不同地方多次执行
# 2.不需要在所有地方都重复编写这些语句。# 自定义函数我们自己编写的函数
# 预定义的python函数(python自带的函数)系统自带的一些函数,可以直接使用
'''
自定义函数
def functionName(parameter1,parameter2) # parameter 参数(变量)的意思 "这里通常要写清楚该函数的注释,方便自己日后使用,在公司的必须写,不然别人会很头疼的"statement1 #statement (声明,陈述)的意思statement2 # 一般这里编写代码,需要执行的代码段return valueToReturn # 返回值 需要返回的是什么
调用
functionName(x,y) # 函数名字(参数1,参数2)
函数返回值
函数被调用后会返回一个指定的值(默认返回None)
return 返回值(返回值可以是任意类型)return 执行后,函数终止区分好返回值和输出(print)
局部变量
在函数中定义的变量=局部变量
a =10 # 全局变量
def fn1():a =10 # 局部变量print(a)print(a)
fn1() # 执行函数
那么执行结果为
10
10
b =2 # 全局变量
def fn2():global b # 声明为全局变量 把函数内的数据应用到外部b =20 # print(b)
print(b) # 输出b的值
fn2() #执行函数
print(b) # 输出b的值
那么执行结果为
2
20
20
一般课本里面都会说到 形参和实参 这里做个区分说明下
def fun(形参) # 定义的时候
fun(实参) # 调用的时候
def fun(x=0) # 定义的时候 (x是默认参数)
默认参数的应用 %d 填入数字 %s 填入字符串 这个还记得吧?
def fn3(x,y = 1,z = 2):print('x= %d y= %d z= %d '%(x,y,z))
fn3(0)
那么执行结果为
x= 0 y= 1 z= 2
fn3()# 缺乏参数就报错
用列表数据来传入 需要加一个’*'号
def fn3(x,y = 1,z = 2):print('x= %d y= %d z= %d '%(x,y,z))
list1 = [3,6,9]
fn3(*list1) # 这里传入了3个参数 那么默认参数就会失效 这里需要加一个'*'号
那么执行结果为
x= 3 y= 6 z= 9
用字典数据传入 需要加两个’**'号
def fn3(x,y = 1,z = 2):print('x= %d y= %d z= %d '%(x,y,z))
dict1 = {'x':6,'y':7,'z':8}
fn3(**dict1)
那么执行结果为
x= 6 y= 7 z= 8
经常会遇到拿到的数据为多个参数 那么就要用到 *arg
def fn4(x,y = 1,z = 2,*arg):print('x= %d y= %d z= %d '%(x,y,z))print("arg的内容为",arg)
fn4(5,6,7,8,9)
那么执行结果为
x= 5 y= 6 z= 7
arg的内容为 (8, 9)
fn4(x=5,y=6,z=7,a=8,b=9)# 这个执行会报错
那么就要用到 **karg 需要加两个'**'号
def fn5(x,y = 1,z = 2,**karg):print('x= %d y= %d z= %d '%(x,y,z))print("karg的内容为",karg)
fn5(x=5,y=6,z=7,a=8,b=9)
那么执行结果为
x= 5 y= 6 z= 7
karg的内容为 {'a': 8, 'b': 9}
python3自定义函数(五分钟读懂)相关推荐
- 大数据入门-五分钟读懂HDFS
目录 大数据入门系列文章 一.概念 二.架构及组件概念 三.读写流程 四.大白话 五.其他 大数据入门系列文章 最近在收集整理大数据入门文章,各位盆友关注点赞不迷路,每天都要开心鸭! 大数据入门系列文 ...
- 五分钟读懂UML类图
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
- 五分钟读懂UML类图(转)
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
- MySQL 自定义函数一文读懂
MySQL函数 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 1.提高代码的重用性 2.简化操作 3.减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率. 存储过程与函数区别: ...
- python3生成文件对象(五分钟读懂)
生成文件对象 fileobject = open(filename,mode) # python2 python3 都可以用 fileobject = open(filename,mode) 常用的特 ...
- 【五分钟读懂】PHP中的opcache是什么,opcache是用来干嘛的?
前言 opcache从字面意思,肯定是缓存这一块的.但是你是否知道它的工作原理是怎样的呢? 这里一点一点让你了解!PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的 ...
- 五分钟读懂经济学十大原理
简易经济学 首先,因为你打开了这篇文章,所以我要恭喜你.如此无聊的题目你还愿意看,说明你很有求知欲,这一点你就比没打开文章的那些人强,坚持下去,你一定会有所成就. (没打开文章的人们,谁让你们不看我的 ...
- 手把手教你怎么撩妹,五分钟读懂!提取于《谈话的力量》
最近撩妹成了一个广受社会青年,尤其是未婚青年们关注的学科.各种理论案例层出不穷.但是,有没有一本像九阴真经一样的撩妹宝典,去指导广大又红又专就是不会说话的热血青年去撩妹撩汉子呢? 有的,这本书就是美国 ...
- 五分钟读懂TCP 协议
点击上方"视学算法",选择"置顶或者星标" 第一时间阅读精彩文章! 作者:阮一峰 地址:http://www.ruanyifeng.com/blog/2017/ ...
最新文章
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中后一个登录的把前一个登录的踢掉功能的实现...
- linux 文件访问控制 特殊权限 suid,sgid,sbit
- MFC 实现字符串的移动
- boost::gregorian模块实现测试时钟的测试程序
- 【机器视觉学习笔记】OpenCV C++的安装、配置及多版本共存 (VS2015)
- linux下svn命令
- AB1562_UT软件分辨真假洛达1562A,洛达1562a怎么鉴别?
- python植物大战僵尸代码1.2
- idea破解最新版本
- DB2错误SQL1585N
- 网络工程师项目管理关键路径和松弛时间计算
- printf二进制数据
- 【论文分享】GeoGAN:从卫星图像中生成地图的标准层
- Tracup小提示:工作总是摸鱼、走神,您可能得了“成人多动症”?
- pandas 计算累计和及累计占比
- Opencv色彩空间(GRAY、XYZ、HSV、YCrCb、HLS)展示,以及利用HSV标记指定的颜色
- initramfs详解----设备文件系统
- 由温度转换实例学习python基本语法元素
- 调用http时因为js问题遇到的一个报错
- 毒鸡汤词汇类的前端小程序源码模板
热门文章
- ORACLE1.8-序列
- 51Nod 1289 大鱼吃小鱼 栈的简单模拟
- 【SSH进阶】No result defined for action **的解决方案
- 1203.2——条件语句 之 switch语句
- ASP.NET 4.0 来了
- Gvim的基本命令:CTR-C =进入命令行
- 运行SQL文件时报Lost connection to MySQL server during query
- 数据结构开发(5):线性表的链式存储结构
- ubuntu安装composer
- 微软版UnityVs横空出世,究竟是谁成就了谁?