01Python基础_07函数

栏目: Python · 发布时间: 6年前

内容简介:01Python基础_07函数

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]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网络、群体与市场

网络、群体与市场

大卫·伊斯利(David Esley)、乔恩·克莱因伯格(Jon Kleinberg) / 李晓明、王卫红、杨韫利 / 清华大学出版社 / 2011-10-1 / CNY 69.00

过去十年来,现代社会中复杂的连通性向公众展现出与日俱增的魅力。这种连通性在许多方面都有体现并发挥着强大的作用,包括互联网的快速成长、全球通信的便捷,以及新闻与信息(及传染病与金融危机)以惊人的速度与强度传播的能力。这种现象涉及网络、动机和人们的聚合行为。网络将人们的行为联系起来,使得每个人的决定可能对他人产生微妙的后果。 本书是本科生的入门教材,同时也适合希望进入相关领域的高层次读者。它从交......一起来看看 《网络、群体与市场》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具