python---函数定义

本文详细介绍了Python中函数的四种定义方式及其调用过程,包括常见定义、带默认值参数、可变参数及关键字参数的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python新手入门,在python中函式定义主要有四种方式:

① F(arg1,arg2,...),最常见的定义方式,一个函式可以定义任何个参数,每个参数间用逗号分割,用这种参数在调用的时候必须在函式名后面的小括号中提供个数相等的值(实参),并且顺序必须相同,形参与实参一一对应

?
1
2
def a(x,y):
   print x,y

调用a函式,a(1,2)则x=1,y=2,如果a(1)或者a(1,2,3)则会出错

② F(arg1,arg2=value2,...agrN=valueN),则将为函式提供默认值。

?
1
2
def a(x,y = 3 ):
   print x,y

调用该函式,a(1,2)则x=1,y=2,如果a(1)不会导致错误,此时x=1,y=3,y值将使用默认值,a(y=4,x=2)同理

可变参数:

③ F(*arg1),以一个*加形参的方式来表示函式的实参个数不确定,参数个数>=0,采用这样的方式定义函式,在函式内部将以实参名的方式构建一个元组(tuple)

?
1
2
3
4
5
6
7
8
9
10
11
12
def a( * x): 
   # 定义一个名为x的元组
 
def a( * t): 
   print x
 
>>>a( 1 )
( 1 ,)
>>>a()
None
>>>a( 1 , 2 , 3 )
( 1 , 2 , 3 )

遍历该元组(计算总和)的一种方式,此时r定义为一元组:

?
1
2
3
4
5
def y( * r):
   x = 0
   for t in r:
     x + = t
   print x

④ F(**arg)形参名前加2个**表示在函式内部将被存放在以形参名为标识符的dictionary,这时调用将使用arg1=value1,arg2=value2...

?
1
2
3
4
5
6
7
8
9
def a( * * b): 
   print b
 
>>>a()
None
>>>a(x = 1 ,y = 2 )
{ 'y' : 2 , 'x' : 1 }
#注意遍历返回的顺序与形参位置顺序相反
>>>a( 1 , 2 ) #error

可通过以下方式来获取预期键值对,如果形参是未定义'y'的键,将返回None

?
1
2
3
4
5
6
7
8
9
def a( * * x): 
   print x.get( 'y' )
 
>>>a(x = 1 ,y = 2 )
2
>>>a(x = 1 )
None
>>>a(x = 1 ,b = 2 )
None

Python参数调用过程按照以上四种方法优先级依次降低。

①方式解析,然后是②中的arg=value方式,再分别按照③>④优先级传参

这是自己第一份通过Blog整理的学习笔记,希望对自己,对浏览至此的各位朋友有所帮助,以上函式命名不符合规范,仅用于简单标识说明,使用python 2.6.2

希望本文所述对大家的Python程序设计有所帮助。

转载:http://www.jb51.net/article/64345.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值