自定义函数

'''
# 重复的事情不做两次# 函数
# 定义: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自定义函数(五分钟读懂)相关推荐

  1. 大数据入门-五分钟读懂HDFS

    目录 大数据入门系列文章 一.概念 二.架构及组件概念 三.读写流程 四.大白话 五.其他 大数据入门系列文章 最近在收集整理大数据入门文章,各位盆友关注点赞不迷路,每天都要开心鸭! 大数据入门系列文 ...

  2. 五分钟读懂UML类图

    平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...

  3. 五分钟读懂UML类图(转)

    平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...

  4. MySQL 自定义函数一文读懂

    MySQL函数 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 1.提高代码的重用性 2.简化操作 3.减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率. 存储过程与函数区别: ...

  5. python3生成文件对象(五分钟读懂)

    生成文件对象 fileobject = open(filename,mode) # python2 python3 都可以用 fileobject = open(filename,mode) 常用的特 ...

  6. 【五分钟读懂】PHP中的opcache是什么,opcache是用来干嘛的?

    前言 opcache从字面意思,肯定是缓存这一块的.但是你是否知道它的工作原理是怎样的呢? 这里一点一点让你了解!PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的 ...

  7. 五分钟读懂经济学十大原理

    简易经济学 首先,因为你打开了这篇文章,所以我要恭喜你.如此无聊的题目你还愿意看,说明你很有求知欲,这一点你就比没打开文章的那些人强,坚持下去,你一定会有所成就. (没打开文章的人们,谁让你们不看我的 ...

  8. 手把手教你怎么撩妹,五分钟读懂!提取于《谈话的力量》

    最近撩妹成了一个广受社会青年,尤其是未婚青年们关注的学科.各种理论案例层出不穷.但是,有没有一本像九阴真经一样的撩妹宝典,去指导广大又红又专就是不会说话的热血青年去撩妹撩汉子呢? 有的,这本书就是美国 ...

  9. 五分钟读懂TCP 协议

    点击上方"视学算法",选择"置顶或者星标" 第一时间阅读精彩文章! 作者:阮一峰 地址:http://www.ruanyifeng.com/blog/2017/ ...

最新文章

  1. 通用权限管理系统组件 (GPM - General Permissions Manager) 中后一个登录的把前一个登录的踢掉功能的实现...
  2. linux 文件访问控制 特殊权限 suid,sgid,sbit
  3. MFC 实现字符串的移动
  4. boost::gregorian模块实现测试时钟的测试程序
  5. 【机器视觉学习笔记】OpenCV C++的安装、配置及多版本共存 (VS2015)
  6. linux下svn命令
  7. AB1562_UT软件分辨真假洛达1562A,洛达1562a怎么鉴别?
  8. python植物大战僵尸代码1.2
  9. idea破解最新版本
  10. DB2错误SQL1585N
  11. 网络工程师项目管理关键路径和松弛时间计算
  12. printf二进制数据
  13. 【论文分享】GeoGAN:从卫星图像中生成地图的标准层
  14. Tracup小提示:工作总是摸鱼、走神,您可能得了“成人多动症”?
  15. pandas 计算累计和及累计占比
  16. Opencv色彩空间(GRAY、XYZ、HSV、YCrCb、HLS)展示,以及利用HSV标记指定的颜色
  17. initramfs详解----设备文件系统
  18. 由温度转换实例学习python基本语法元素
  19. 调用http时因为js问题遇到的一个报错
  20. 毒鸡汤词汇类的前端小程序源码模板

热门文章

  1. ORACLE1.8-序列
  2. 51Nod 1289 大鱼吃小鱼 栈的简单模拟
  3. 【SSH进阶】No result defined for action **的解决方案
  4. 1203.2——条件语句 之 switch语句
  5. ASP.NET 4.0 来了
  6. Gvim的基本命令:CTR-C =进入命令行
  7. 运行SQL文件时报Lost connection to MySQL server during query
  8. 数据结构开发(5):线性表的链式存储结构
  9. ubuntu安装composer
  10. 微软版UnityVs横空出世,究竟是谁成就了谁?