01Python基础_07函数

本文深入讲解了Python中函数的高级用法,包括定义函数、设置默认参数、接受不定数量参数及使用元组和字典传参的方法。同时,介绍了如何运用map方法生成序列,为读者提供了丰富的代码实例。

  1. 定义函数

1 def add(x, y):
2     """Add two numbers.

    The two values must be integers or strings"""  #DocStrings 3 a = x + y 4 return a

  DocStrings:函数的第一个逻辑行的字符串是这个函数的文档字符串。注意,DocStrings也适用于模块和类。文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。

  return 返回特定的值,如果省略,返回 None

  2. 设置默认参数

  函数定义时可以设定参数默认值:

def quad(x, a=1, b=0, c=0):
    return a*x**2 + b*x + c
print quad(2.0)    #省略有默认参数的参数,只给x赋值

out:4.0

print quad(2.0, b=3)    #给有默认参数的参数赋值

 out:10

  3. 接受不定参数

def add(x, *args):    #x后的参数当作一个元组中的元素
    total = x
    for arg in args:
        total += arg
    return total

print add(1, 2, 3, 4)    #可将参数理解成:1, (2, 3, 4)
print add(1, 2)

out:10

  3

  还可以使用关键词传入参数:

def add(x, **kwargs):    #**kwargs相当于一个字典
    total = x
    for arg, value in kwargs.items():
        print "adding ", arg
        total += value
    return total

print add(10, y=11, z=12, w=13)    #可以理解成:10, {y:11, z:12, w:13}

out:  adding  y

  adding  z

  adding  w

  46

  4. 传入元组、字典

def add(x, y):
    """Add two numbers"""
    a = x + y
    return a
    
z = (2, 3)
print add(*z)    #"*"必不可少
w = {'x': 2, 'y': 3}
print add(**w)    #"**"必不可少

  5. map方法生成序列

  可以通过 map 的方式利用函数来生成序列:

def sqr(x): 
    return x ** 2

a = [2,3,4]
print map(sqr, a)

out: [4, 9, 16]

  根据函数参数的多少,map 可以接受多组序列:

def add(x, y): 
    return x + y

a = (2,3,4)
b = [10,5,3]
print map(add,a,b)

out: [12, 8, 7]

转载于:https://www.cnblogs.com/zhangyide/p/8204112.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值