python3.x 函数的参数

  2016-08-09  15:06:18

位置参数

  调用函数时,参数按照位置依次传递给函数

1 def show(a1,a2,a3,a4):
2     print(a1,a2,a3,a4)
3
4 show(‘s‘,‘h‘,‘o‘,‘w‘)

  执行结果如下:

s h o w

默认参数

  将函数最后几个参数设置默认值,如果这几个参数没有传参,函数就会使用默认值给参数赋值。

  默认参数必须是函数的形参的最后一个或几个,如果不是,python会提示语法错误。

  

1 def show(a1,a2,a3=‘c‘,a4=‘a‘):
2     print(a1,a2,a3,a4)
3
4 show(‘s‘,‘h‘)

  执行结果如下:

s h c a

指定参数

  调用函数的时候,可以指定给哪个参数进行赋值。使用指定参数的时候,可以不按照参数顺序进行书写。可以跳过中间的某一个或几个默认参数。

1 def show(a1,a2,a3=‘c‘,a4=‘a‘):
2     print(a1,a2,a3,a4)
3
4 show(‘s‘,a4=‘g‘,a2=‘d‘)

  执行结果如下:

s d c g

可变参数

  函数定义时,可以在形参前加上一个*号。如果加上*号,此时,就可以像函数传递多个参数,函数内部会将他们作为一个元组进行处理。

  调用此函数时,可以传递任意个参数,包括0个参数。

1 def show(*arg):
2     print(arg,type(arg))
3
4 show(11,22,‘ee‘)

  执行结果如下:

(11, 22, ‘ee‘) <class ‘tuple‘>

  传递0个参数的情况

1 def show(*arg):
2     print(arg,type(arg))
3
4 show()

  执行结果如下:

() <class ‘tuple‘>

关键字参数

  函数定义时,可以在形参前加上两个*号。如果加上**号,此时,就可以像函数传递多个参数,函数内部会将他们作为一个字典进行处理。

  与上面相同,调用此函数时,可以传递任意个参数,包括0个参数。

  函数的调用格式是这样的 函数名(关键字=值)

1 def show(**arg):
2     print(arg,type(arg))
3
4 show(n1=‘n1‘,n2=89)

  执行结果如下:

{‘n1‘: ‘n1‘, ‘n2‘: 89} <class ‘dict‘>

  传入0个参数的情况:

1 def show(**arg):
2     print(arg,type(arg))
3
4 show()

  执行结果如下:

{} <class ‘dict‘>

可变参数和关键字参数配合

  可变参数和关键字参数可以配合使用。他们配合使用之后,可以说是神挡杀神佛挡杀佛。

1 def show(*args,**kwargs):
2     print(args,type(args))
3     print(kwargs,type(kwargs))
4
5 show(11,22,‘ee‘,n1=‘rr‘,s1=33)

  执行结果如下:

(11, 22, ‘ee‘) <class ‘tuple‘>
{‘n1‘: ‘rr‘, ‘s1‘: 33} <class ‘dict‘>

  然而,它们的组合使用也有小脾气,组合使用必须满足一下两个条件:

  1.函数定义时,可变参数一定要在关键字参数之前

  2.调用函数时,可变参数的数据一定要在关键字参数的数据前面,不可以混乱或者颠倒位置,否则程序会报错

时间: 2024-10-15 01:58:54

python3.x 函数的参数的相关文章

Python3基础 函数 关键字参数 的示例

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: def FunAdd(jiaOne,jiaTwo,jianOne) : '单行函数文档' return (jiaOne+jiaTwo-jianOne) #你看这么多参数,万一顺序弄混了,就尴尬了. #所以关键字参数 res=FunAdd(jiaOne=1,jiaTwo=-3,j

Python3基础 函数 收集参数+普通参数 的示例

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: # 收集参数 定制参数 定制参数 def MyFun(* paramters, name, key) : print('收集参数的长度:',len(paramters)) print(paramters[1]) print(name) print(key) #如何调用呢? #定

Python3学习笔记——函数的参数

函数的参数 位置参数:调用函数时,传入的两个值按照位置顺序依次赋给参数 默认参数: 一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面): 二是如何设置默认参数. 把年龄和城市设为默认参数: 1 def enroll(name, gender, age=6, city='Beijing'): 2 print('name:', name) 3 print('gender:', gender) 4 print('age:', age) 5 pr

python函数 - 函数的参数

http://blog.csdn.net/pipisorry/article/details/39123103 self参数 self在定义时需要定义,但是在调用时会自动传入. self的名字并不是规定死的,但是最好还是按照约定是用self.self不必非写成self,可以是任意字符. self总是指调用时的类的实例.self代表类的实例,而非类. 在继承时,传入的是哪个实例,就是那个传入的实例,而不是指定义了self的类的实例. 在描述符类中,self指的是描述符类的实例. [一篇文章让你彻底

关于Python3中函数:

# 关于Python3中函数: - 定义 定义函数使用关键字def,后接函数名和放在圆括号()中的可选参数列表,函数内容以冒号起始并且缩进.一般格式如下:``` def 函数名(参数列表): """文档字符串""" 函数体 return [expression] ``` - 函数变量作用域 在函数内部定义的变量拥有一个局部作用域,在函数外定义的拥有全局作用域.注意:在函数内部可以引用全局变量,但无法对其赋值(除非用global进行声明).```

Python3 bytes 函数

Python3 bytes 函数  Python3 内置函数 描述 bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列.它是 bytearray 的不可变版本. 语法 以下是 bytes 的语法: class bytes([source[, encoding[, errors]]]) 参数 如果 source 为整数,则返回一个长度为 source 的初始化数组: 如果 source 为字符串,则按照指定的 encoding 将字符串

Python3 tuple 函数

Python3 tuple 函数  Python3 内置函数 描述 tuple 函数将列表转换为元组.. 语法 以下是 tuple 的语法: tuple( seq ) 参数 seq -- 要转换为元组的序列. 返回值 返回元组. 实例 以下展示了使用 tuple 的实例: 实例 >>>list1= ['Google', 'Taobao', 'Runoob', 'Baidu'] >>> tuple1=tuple(list1) >>> tuple1 ('G

07-02函数的参数

[TOC] 一 形参与实参介绍 插图:恶搞图05 函数的参数分为形式参数和实际参数,简称形参和实参: 形参即在定义函数时,括号内声明的参数.形参本质就是一个变量名,用来接收外部传来的值. 实参即在调用函数时,括号内传入的值,值可以是常量.变量.表达式或三者的组合: #1:实参是常量 res=my_min(1,2) #2:实参是变量 a=1 b=2 res=my_min(a,b) #3:实参是表达式 res=my_min(10*2,10*my_min(3,4)) #4:实参可以是常量.变量.表达式

js函数中参数的传递

先看一道JS的笔试题: var setObj=function(o){ o.name="xiaoming"; o={}; o.name="xiaohong"; } var p={name:"xixi",age:24}; setObj(p); console.log(p); 答案是{name:xiaoming,age24}: 在JavaScript中函数参数默认为引用类型. 在阅读本章节之前建议参阅一下两章节:1.值类型可以参阅javascript