发表于: 2018-03-06 23:44:05

2 857


  1. 今天学到的东西: 位置参数 , 默认参数 , 可变参数 ,关键字参数 和 命名关键字参数。断断续续看了两天才看明白。。


1.位置参数

首先定义函数的方法是def       写一个求x²的函数


def weizhi(x):

    print x * x


x 就是其函数的参数 而且是必选参数,在调用函数时必须传入一个参数。


在打印一个 x³,4次方 5 次方 等等时 就可以用


def weizhit(x, n):

    sum = 1

    while n>0:

        n = n-1

        sum = sum * x

    returen  sum


2.默认参数    

就是 给定 n 一个 默认值 使得 传给  n 值时 n 等于传入值 未传n时 使用 默认值       写法    


def moren(x, n=2):  

     sum = 1

        while n>0:

            n = n-1

            sum = sum * x

        returen  sum


调用moren(4,3)返回 48    调用 moren(4) 返回 16

*默认参数必须指定一个不变的值    例子:


def moren(L=[]):

    L.append('end')

    return L


当正常调用时 moren(1, 2, 3)   返回 [1, 2, 3, 'end']

当调用 moren(L=[])时 ,第一次没问题返回 ['end']   当再次调用moren(L=[])时  返回 ['end', 'end'] 出错。


改正:


    def moren(L=[None]):

        if L is None:

            L = []

        L.append('end')

        return L


3.可变参数      传入参数 是可变的 可以是一个 list或tuple

     kebian([1 ,2, 3])  ,kebian((1, 2, 3, 4))   简化写法kebian(1, 2, 3)    kebian(1, 2, 3, 4)

 也可以将 list, tuple 先打包 一起传入,但必须在参数名前加*  比如  计算  a²+b²+.........+n²  的和

def  kebian(*L):

    s=1

    for n in L:

    sum = sum + n*n

 return  sum

调入 kebian(1,2)   返回 5      随意调入 可变参数 。。


4.关键值参数    

    就是传入一个 dict     除了 必选函数的传入可 任意传入  key-value

def gjz(name , age, **zidian):

print(name, age, zhidian)

调用 gjz('xiaobai',24,city = 'wuhan' jiaxiang = 'hebei')   返回   ‘xiaobai’24  {'city' :'wuhan' ,' jiaxiang': 'heibei' }



参数 组合


def d1(a,b,c=2,*tu,**di):

print('a' = a,'b' = b,'c' = c ,'tu'=tu, 'di' = di)


传入  

>>> d1(2,3)

a = 2, b = 3, c = 2, tu = (), di = {}

>>>d1(2, 3, 4)

a = 2, b = 3, c = 4, tu = (), di = {}

>>>d1(2, 3, 4, 'Q', 'W')

a = 2, b= 3, c = 4, tu = ('Q', 'W'), di = {}

>>>d1(2, 3, 4, 'Q', 'W',x = 11)

a = 2, b= 3, c = 4, tu = ('Q', 'W'), di = {'x' : 11 }



写不完了.............



    


 

 

    

 



  

   


    

    





返回列表 返回列表
评论

    分享到