浅析python参数的知识点

作者:laozhang 时间:2022-12-16 01:39:32 

python之参数,定义时小括号中的参数,用来接收参数用的,称为 “形参”

调用时小括号中的参数,用来传递给函数用的,称为 “实参”。

1、思考一个问题,如下:

现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下面的代码可以吗?有什么缺陷吗?


In [8]: def num():

...:  a=12

...:  b=23

...:  c=a+b

...:  print(c)

为了让一个函数更通用,即想让它计算哪两个数的和,就让它计算哪两个数的和,在定义函数的时候可以让函数接收数据,就解决了这个问题,这就是 函数的参数

浅析python参数的知识点

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)

浅析python参数的知识点

3、调用带有参数的函数


In [13]: def num2(a,b):

....:  c=a+b

....:  print(c)

....:  

In [14]:

In [14]: num2(1,2)

3

浅析python参数的知识点

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

浅析python参数的知识点

5、缺省参数之注意:

带有默认值的参数一定要位于参数列表的最后面。


In [21]: def info(name,age=20,sex):

....:  print(name)

....:  

File "<ipython-input-21-099520322ee2>", line 1

def info(name,age=20,sex):

^

SyntaxError: non-default argument follows default argument

浅析python参数的知识点

6、不定长参数

有时可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。

语法:


def functionname([formal_args,] *args,**kwargs):

function_suite

return [expression]

加入星号(*)的变量args会存放所有未命名的变量参数,args为元组;

而加**的变量kwargs 会存放命名参数,即形如key=value的参数,kwargs为字典

浅析python参数的知识点

浅析python参数的知识点

浅析python参数的知识点

7、

引用传参可变类型与不可变类型的变量分别作为函数参数时,会有什么不同吗?Python有没有类似C语言中的指针传参呢?Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。

引用传参可变类型与不可变类型的变量分别作为函数参数时,会有什么不同吗?Python有没有类似C语言中的指针传参呢?

以上内容就是关于python参数相关的知识点内容,感谢大家对脚本之家的支持。

标签:python,参数
0
投稿

猜你喜欢

  • Python编程快速上手——疯狂填词程序实现方法分析

    2023-07-25 08:57:17
  • python的pstuil模块使用方法总结

    2022-10-09 22:47:16
  • javascript自动生成包含数字与字符的随机字符串

    2024-04-17 09:45:29
  • ASP自动清除ACCESS数据库的日文字符

    2007-11-28 17:40:00
  • Jquery 切换不同图片示例代码

    2024-04-16 09:31:33
  • Python计算信息熵实例

    2022-08-17 16:13:39
  • Vue声明式渲染详解

    2024-04-30 10:22:25
  • 使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子

    2023-08-26 23:12:32
  • SQL Data Services将成为云中完整的数据库

    2009-03-25 12:28:00
  • JS事件在IE与FF中的区别详细解析

    2023-09-24 23:02:35
  • ​​​​​​​如何利用python破解zip加密文件

    2022-11-27 17:51:30
  • Python中集合类型(set)学习小结

    2023-03-18 13:56:27
  • 关于Python的Thread线程模块详解

    2022-12-20 02:48:16
  • asp如何在ADO中客户端利用好缓存技术?

    2010-06-17 12:50:00
  • 利用JavaScript实现简单的网页时钟

    2024-04-23 09:29:39
  • Vue.js使用axios动态获取response里的data数据操作

    2024-05-08 09:34:06
  • ECMAScript6函数默认参数

    2024-05-13 09:18:24
  • SQL触发器定义与使用

    2024-01-28 09:21:27
  • 通过实例解析python描述符原理作用

    2021-01-15 03:14:57
  • Go语言通道之无缓冲通道

    2024-04-25 15:25:57
  • asp之家 网络编程 m.aspxhome.com