Python全栈开发【第八篇】:函数

函数分类

函数分为数学定义的函数与python中的函数。

  • 初中数学函数定义:在一个变化过程中,如果有两个边路x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数。
    例如:y=2*x
  • python中函数定义:函数式逻辑结构化和过程化的一种编程方法。

函数的定义

def 函数名(参数): 
    ...
    函数体
    ...
    返回值

函数的定义主要有如下要点:

  • def:表示函数的关键字
  • 函数名:函数的名称,日后根据函数名调用函数
  • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等…
  • 参数:为函数体提供数据
  • 返回值:当函数执行完毕后,可以给调用者返回数据

1、返回值

函数是一个功能块,该功能到底执行成功与否,需要通过返回值来告知调用者。

def 发送短信():       
    发送短信的代码...   
    if 发送成功:
        return True
    else:
        return False
while True:       
    # 每次执行发送短信函数,都会将返回值自动赋值给result
    # 之后,可以根据result来写日志,或重发等操作   
    result = 发送短信()
    if result == False:
        记录日志,短信发送失败...

函数返回值个数不同,返回类型不同:

  • 返回值数=0:返回none
  • 返回值数=1:返回object
  • 返回值数>1:返回tuple
    另:过程就是没有返回值的函数

2、参数

根据函数参数形式可以分为形参和实参两种。
  • 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。
  • 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应该预先用赋值,输入等办法使参数获得确定值。
根据参数实现可以分为无参数实现、有参数实现
根据函数参数传递过程可以分为普通参数、默认参数、动态参数

普通参数:

# ######### 定义函数 ######### 

# name 叫做函数func的形式参数,简称:形参
def func(name):
    print(name)

# ######### 执行函数 ######### 
#  'tom' 叫做函数func的实际参数,简称:实参
func('tom')

默认参数:

def func(name, age = 18):    
    print("%s:%s" %(name,age))

# 指定参数
func('tom', 19)
# 使用默认参数
func('alex')

注:默认参数需要放在参数列表最后

动态参数1:**{字典},*[列表]

def test(x,*args):
    print(x)
    print(args)
test(1,2,3,4,5,6,7)
test(1,['x','y','z'])
test(1,*['x','y','z'])
#执行结果如下:
1
(2, 3, 4, 5, 6, 7)
1
(['x', 'y', 'z'],)
1
('x', 'y', 'z')

动态参数2:

def func(x,**kwargs):
    print(x)
    print(kwargs)
func(1,y=2,z=3)
#执行结果如下:
1
{'y': 2, 'z': 3}

动态参数3:

def func(*args, **kwargs):

    print args
    print kwargs
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值