python基础-函数参数

作者: hanl001 | 来源:发表于2017-01-14 19:57 被阅读0次

**1. 位置参数: **
要求必须传入的参数,类似c语言中的普通参数
**2. 默认参数: **
在python中,定义函数的时候可以给函数参数一个默认值(即:默认参数),当调用函数时不给默认参数传值,则该参数使用默认值。
例:


Snip20170114_2.png

**3. 可变参数: **
定义函数时声明一个可变参数,可以在调用函数的时候传入多个参数,而且参数个数随机。

定义:

>>> def test2(*numbers): #numbers可类比c中数组名
...     for i in numbers:
...             print(i)

调用:

test2(1,2,3)  #输出 1 2 3
nums=[1,2,3]
test2(*nums) #输出也是1 2 3

**4. 关键字参数: **
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
定义:

>>> def test3(**kw): //可类比c中的二级指针取值
...     print(kw)

使用:

>>> test3(city="guangzhou")
{'city': 'guangzhou'}
>>> test3(city="guangzhou",name="hanl")
{'city': 'guangzhou', 'name': 'hanl'}
>>> test3()
{}
>>> dic={'city': 'guangzhou', 'name': 'hanl'}
>>> test3(**dic)
{'city': 'guangzhou', 'name': 'hanl'}

**5. 命名关键字参数: **
如果需要限制关键字参数的名字就需要使用命名关键字参数
定义:

#  *后面的参数被视为命名关键字参数
>>> def test3(name,*,city):
...     print(name)
...     print(city)

使用:

>>> test3('hanl',city='wuhan')
hanl
wuhan

如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了

>>> def test3(name,*args,city,age):
...     print(name,args,city,age)
...
>>> test3('hanl',1,1,2,city='wuhan',age=22)
hanl (1, 1, 2) wuhan 22

相关文章

  • python基础-07-函数

    python基础-函数 1.函数的定义 例子: 2.python中函数的参数详解 必备参数demo: 默认参数de...

  • Python基础-函数

    Python基础-函数 1.函数定义 2.参数传值 3.内置函数

  • Python基础-函数参数

    Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要本文详细介绍了函数的各种形参类型...

  • python基础-函数参数

    **1. 位置参数: **要求必须传入的参数,类似c语言中的普通参数**2. 默认参数: **在python中,定...

  • 2018-10-14

    C基础入门Python(四)——函数 一、创建函数 1、def语句创建函数 def 函数名(参数表)def hel...

  • 基础·函数

    Python基础教程 函数定义 小试牛刀 参数 因为python中的变量没有明确标明类型,所以函数中可以直接使用一...

  • python:函数说明

    Python: 函数参数魔法 2016-12-01 函数参数 在 Python 中,定义函数和调用函数都很简单,但...

  • Python的参数

    Python的参数函数的参数

  • python 函数参数类型

    本文主要学习内容: python函数参数类型 python 的函数参数类型分为4种:1.位置参数:调用函数时根据函...

  • 4.Python基础数据类型之bool

    Python基础数据类型之bool bool(布尔值)bool() 函数用于将给定参数转换为布尔类型,如果没有参数...

网友评论

    本文标题:python基础-函数参数

    本文链接:https://www.haomeiwen.com/subject/oswebttx.html