zoukankan      html  css  js  c++  java
  • 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]

  • 相关阅读:
    HDU
    HDU
    CodeForces
    HDU——2955 Robberies (0-1背包)
    南京区域赛之后
    算法作业三-哈夫曼编码
    HDU
    POJ 1220 NUMBER BASE CONVERSION(进制转换,大数)
    HDU 1535 Invitation Cards(最短路)
    HDU 3572 Task Schedule(网络流+当前弧优化)
  • 原文地址:https://www.cnblogs.com/zhangyide/p/8204112.html
Copyright © 2011-2022 走看看