加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python函数

发布时间:2020-12-20 10:55:15 所属栏目:Python 来源:网络整理
导读:1.位置参数 位置参数就是普通的参数定义 def power(x): print(x**2) 2.默认参数 当调用函数时没有给参数值,那么会给使用定义的默认值。下面定义的函数可以定义参数值也可以不定义,不定义时x默认为9 def power(x = 3): print(x**2) 默认参数注意事项,当默
1.位置参数

位置参数就是普通的参数定义

def power(x):
     print(x**2)

2.默认参数

当调用函数时没有给参数值,那么会给使用定义的默认值。下面定义的函数可以定义参数值也可以不定义,不定义时x默认为9

def power(x = 3):
     print(x**2)

默认参数注意事项,当默认参数使用的是可变的类型参数时,会产生不同的结果。当函数定义默认的参数是一个空列表时,第一次调用函数时,变量L设为[‘end‘],当第二次调用时,会以[‘end‘]为默认参数,因为L指向的列表对象地址没有改变,所有L的值为[‘end‘,‘end‘]。

In [1]: def power(L = []):
   ...:     L.append(‘end‘)
   ...:     return L
   ...:

In [2]:

In [2]: print(power())
[‘end‘]

In [3]: print(power())
[‘end‘,‘end‘]

In [4]: print(power())
[‘end‘,‘end‘,‘end‘]

3.可变参数

当参数的个数不确定时,可以使用可变参数,只需要在变量前加,当想把一个列表或元祖的值传入时,只需要在列表或元祖前加即可。

def sum(*num):
     temp = 0
     for i in num:
          temp += i
     return temp

print(sum(1,2,4,60))
L = [1,3,5,6]
print(sum(*L))

4.关键字参数

可以将多个参数封装成dict,下面的函数除了name和age需要定义外,还可以传入多个kv键值对,会被封装成dict。当有一个dict对象时,只需在对象名前加就可以传入参数。

def person(name,age,**kw):
     print("name =",name,"age = ","kw = ",kw)

person(‘fgnb‘,33,fg = ‘nb‘)
extra = {‘1‘:‘1‘,‘2‘:"2",‘3‘:"3"}
person(‘fgsb‘,‘33‘,**extra)

5.命名关键字参数

主要用于限制关键字参数的参数名,比如希望输入名为a和b的关键字。只需在中间加上一个号,或者参数中间有可变参数

def person(name,*,a,b):
     print(name,b)

def person(name,*args,city,job): #参数传递时需要2个位置参数,city和job的关键字参数和任意个参数变量
     print(name,args,job)

person(‘fg‘,32,a = ‘a‘,b = ‘b‘)

6.参数的顺序

位置参数、默认参数、可变参数、命名关键字参数和关键字参数。

def f1(a,b,c=0,**kw):
    print(‘a =‘,‘b =‘,‘c =‘,c,‘args =‘,‘kw =‘,kw)

def f2(a,d,‘d =‘,kw)

>>> f1(1,2)
a = 1 b = 2 c = 0 args = () kw = {}
>>> f1(1,c=3)
a = 1 b = 2 c = 3 args = () kw = {}
>>> f1(1,‘a‘,‘b‘)
a = 1 b = 2 c = 3 args = (‘a‘,‘b‘) kw = {}
>>> f1(1,‘b‘,x=99)
a = 1 b = 2 c = 3 args = (‘a‘,‘b‘) kw = {‘x‘: 99}
>>> f2(1,d=99,ext=None)
a = 1 b = 2 c = 0 d = 99 kw = {‘ext‘: None}
# 可以通过List或者tuple传递参数
>>> args = (1,4)
>>> kw = {‘d‘: 99,‘x‘: ‘#‘}
>>> f1(*args,**kw)
a = 1 b = 2 c = 3 args = (4,) kw = {‘d‘: 99,‘x‘: ‘#‘}
>>> args = (1,3)
>>> kw = {‘d‘: 88,‘x‘: ‘#‘}
>>> f2(*args,**kw)
a = 1 b = 2 c = 3 d = 88 kw = {‘x‘: ‘#‘}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读