浅析python参数的知识点 python之参数,定义时小括号中的参数,用来接收参数用的,称为 “形参” 调用时小括号中的参数,用来传递给函数用的,称为 “实参”。 1、思考一个问题,如下: 现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下面的代码可以吗?有什么缺陷吗? In [8]: def num(): ...: a=12 ...: b=23 ...: c=a+b ...: print(c) 为了让一个函数更通用,即想让它计算哪两个数的和,就让它计算哪两个数的和,在定义函数的时候可以让函数接收数据,就解决了这个问题,这就是 函数的参数 2、定义带有参数的函数 In [10]: def num1(a): ....: print(a) ....: In [11]: def num2(a,b): ....: c=a+b ....: print(c) ....: In [12]: def num3(a,b,c): ....: d=a+b+c ....: print(d) 3、调用带有参数的函数 In [13]: def num2(a,b): ....: c=a+b ....: print(c) ....: In [14]: In [14]: num2(1,2) 3 4、缺省参数 调用函数时,缺省参数的值如果没有传入,则被认为是默认值。 In [18]: def info(name,age=20): ....: print("name:",name) ....: print("age:",age) ....: In [19]: info(name='zcf') name: zcf age: 20 In [20]: info(age=21,name='zcf') name: zcf age: 21 5、缺省参数之注意: 带有默认值的参数一定要位于参数列表的最后面。 In [21]: def info(name,age=20,sex): ....: print(name) ....: File "", line 1 def info(name,age=20,sex): ^ SyntaxError: non-default argument follows default argument 6、不定长参数 有时可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。 语法: def functionname([formal_args,] *args,**kwargs): function_suite return [expression] 加入星号(*)的变量args会存放所有未命名的变量参数,args为元组; 而加**的变量kwargs 会存放命名参数,即形如key=value的参数,kwargs为字典 7、引用传参可变类型与不可变类型的变量分别作为函数参数时,会有什么不同吗?Python有没有类似C语言中的指针传参呢?Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。引用传参可变类型与不可变类型的变量分别作为函数参数时,会有什么不同吗?Python有没有类似C语言中的指针传参呢? 以上内容就是关于python参数相关的知识点内容,感谢大家对中文源码网的支持。