Python中的函数

2018-12-01 第七课(函数)

标签:Python

#函数

1.函数解释:在开发过程中,需要某块代码多次,为了提高编写的效率以及代码的重用,所以把这些代码定义成一个函数,即具有独立功能的代码块组织成的一个模块

2.函数的定义方式:
def 函数名(参数列表):
“”" 函数文档说明 “”"
语句块
其中 def 是定义函数的关键字
参数列表是需要传给函数的数据或者条件

3.函数的调用:函数需要调用才可以使用,调用时 函数名()

4.函数执行过程:当Python解释器遇到def关键字的时候,解释器会自动存储函数的内存地址[id()],跳过def里面的所有代码,当解释器遇到函数执行(调用)会再次回到def代码块中

返回值 return

1.返回None,如果函数没写return语句的时候,函数执行完成后返回一个None
2.返回对象,可以以元素的形式返回
eg.
def sum(a,b):
num = a+b
return num
sum = sum(1,2)
print(sum)

#Python没有主函数入口,代码是从上往下执行,但是为了和其他语言相同,Python定义了一个假的函数入口(没什么用)
if name == ‘main’:
pass

LEGB原则

L:local 函数内部的变量,局部变量
E: 函数与函数之间的变量 不考虑,设计到闭包
G:global 全局变量,全局变量定义方法: global 变量名
B: build-in 内建函数,系统函数
L > E > G > B
比如定义函数名list,调用函数list(),list()列表定义函数为内置函数,优先看定义的函数名list

#一个函数返回多个数据
def one(a,b,c):
return a,b,c #默认返回元组,可以定义为返回其他类型
d = one(1,2,3)
print(d,type(d))

#缺省参数

调用函数时,如果传入参数缺失则调用自己设置的默认参数
在形参中默认有值的参数,称之为缺省参数
注意:带有默认值的参数一定要位于参数列表的最后面
def hhh(a,b=10):
print(a,b)
hhh(6)
hhh(2,3)
hhh(10,b=8)

#不定长参数

有时可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数,声明时也不会命名
*对元组拆包,定义的args为变量名,args为元组,*args在函数里面做参数时就叫做不定长位置参数
def qwer(a,*args):
print(a)
print(args)
print(*args)
qwer(1,2,3,4)

不定长关键字参数

用于不知道传入参数的位置时
**kwargs就是不定长关键字参数,kwargs的类型是字典
def rewq(a,b,**kwargs):
print(a,b)
print(kwargs)
#print(**kwargs) #不能这样
rewq(b=2,a=1,c=3,d=4)

#注意:缺省函数在*args(不定长位置参数)后面,因为缺省函数在 args前面时会表示传参时给的是缺省参数,而不是args
def shunxu(a,*b,c=666,**d):
print(a)
print(b)
print©
print(d)
shunxu(100,1,2,3,4,5)
print("-"*20)
shunxu(100,1,2,3,4,5,c=888,d=6,e=7,f=8)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值