上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的。在调用函数时,有的函数需要参数来启动函数,有的则无需参数。这一节我们来介绍Python中有哪些参数类型。

位置参数 在调用函数时,必须按照参数定义的顺序依次赋给参数
默认参数 只需赋给常变参数,不常变参数将作为默认值传递给函数。如果需要替换不常变参数的默认值,只需在调用函数时向该参数传入想要的值即可。定义默认值参数时,要将常变参数定义在前,默认值参数定义在后。
可变参数  由于有些函数的参数个数是不确定的,Python提供可变参数*args,将args作为一个元祖传递0个或者多个参数给函数
关键字参数  可变参数在调用时将自动组装成一个元祖,而关键字参数允许传入0个或者多个含有参数名的参数,这些关键字参数在函数调用时会自动封装成一个字典
命名关键字参数  关键字参数可以接受0个或者多个任意不受限制的关键字参数,而命名关键字参数通过*,kw1,kw2 规定只允许接受哪些关键字参数
组合参数  python中定义函数时,可以使用必选参数、默认参数、可变参数、关键字参数、命名关键字参数五种参数规则的组合一起使用。顺序是 必选参数>默认参数>可变参数>命名关键字参数>关键字参数

位置参数:

 def my_def(name,age):
print( name,age)
a=my_def('zhangsan',18)

执行结果:

 zhangsan 18

若调用参数位置

 def my_def(name,age):
print( name,age)
a=my_def(18,'zhangsan')

执行结果

 18 zhangsan

默认值参数

 def my_def(name,age,city='beijing',job='python'):
print( name,age,city,job)
a=my_def('zhangsan',18)

执行结果:

 zhangsan 18 beijing python

若参数的默认值与实际的不符,在调用函数时,将对应的参数传入新值即可:

 def my_def(name,age,city='beijing',job='python'):
print( name,age,city,job)
a=my_def('zhangsan',18,city='henan')

执行结果:

 zhangsan 18 henan python

可变参数:

 def my_def(*args):
sums=0
for n in args:
sums+=n*n
print(sums)
a=my_def(1,2,3)

执行结果:

14

关键字参数:

 def my_def(name,age,**kwargs):
print(name,age,kwargs['city'],kwargs['job'])
a=my_def('zhangsan',18,city='beijing',job='python')

执行结果:

zhangsan 18 beijing python

命名关键字参数:

 def my_def(name,age,*,city,job):
print( name,age,city,job)
a=my_def('zhangsan',18,city= 'beijing',job='python')

执行结果

zhangsan 18 beijing python

组合参数:

 def my_def(shool,classes,*args,**kwargs):
print(shool,classes,args,kwargs)
a=my_def('old boy',23,'zhangsan',18,city='beijing',job='python')

执行结果:

 old boy 23 ('zhangsan', 18) {'city': 'beijing', 'job': 'python'}

Python学习之函数参数的更多相关文章

  1. Python学习笔记 - 函数参数

    >>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...

  2. python学习day10 函数Ⅱ(参数&作用域)

    函数Ⅱ(参数&作用域) 知识小结: py2与py3的区别 逻辑运算()>not>and>or 字符串翻转切片翻转 is与==区别 git相关 数据类型判断 操作系统:cent ...

  3. python学习 04 函数参数

    1.参数可以传递元组,但是要加* 2.参数可以传递字典,但是要加**

  4. python学习7—函数定义、参数、递归、作用域、匿名函数以及函数式编程

    python学习7—函数定义.参数.递归.作用域.匿名函数以及函数式编程 1. 函数定义 def test(x) # discription y = 2 * x return y 返回一个值,则返回原 ...

  5. python学习8—函数之高阶函数与内置函数

    python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...

  6. Python进阶(二)----函数参数,作用域

    Python进阶(二)----函数参数,作用域 一丶形参角度:*args,动态位置传参,**kwargs,动态关键字传参 *args: ​ 动态位置参数. 在函数定义时, * 将实参角度的位置参数聚合 ...

  7. 04 python学习笔记-函数、函数参数和返回值(四)

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print(),我们也可以自己创建函数,这叫做用户自定 ...

  8. python学习Day11 函数的参数列表

    复习 什么是函数? 具体特定功能的代码块 - 特定功能代码作为一个整体,并给该整体命名,就是函数 函数的优点 : 1.减少代码的冗余,2.结构清晰,可读性强 3.具有复用性,开发效率高,维护成本高 如 ...

  9. 从0开始的Python学习007函数&函数柯里化

    简介 函数是可以重用的程序段.首先这段代码有一个名字,然后你可以在你的程序的任何地方使用这个名称来调用这个程序段.这个就是函数调用,在之前的学习中我们已经使用了很多的内置函数像type().range ...

随机推荐

  1. 9种Java单例模式详解

    单例模式的特点 一个类只允许产生一个实例化对象. 单例类构造方法私有化,不允许外部创建对象. 单例类向外提供静态方法,调用方法返回内部创建的实例化对象. 懒汉式(线程不安全) 其主要表现在单例类在外部 ...

  2. CSS透明度设置(兼容性)

    一句话搞定透明背景! .transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opa ...

  3. <Android 基础(十五)> Alert Dialog

    介绍 The AlertDialog class allows you to build a variety of dialog designs and is often the only dialo ...

  4. 我的java开发规范

    关于文件的命名参考阮一峰的这篇文章:http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html,文中说文件名全部使 ...

  5. Help for enable SSL 3.0 and disable TLS 1.0..

    https://support.mozilla.org/en-US/questions/967266 i cant find tab Encryption for enable SSL 3.0 and ...

  6. 笨办法学Python(三十七)

    习题 37: 复习各种符号 现在该复习你学过的符号和 python 关键字了,而且你在本节还会学到一些新的东西.我在这里所作的是将所有的 Python 符号和关键字列出来,这些都是值得掌握的重点. 在 ...

  7. 12/13 exercise

    gcc -[cog] gcc   pro1.o   pro2.o      //create a executable file x.out if unnamed

  8. 设定网页最小最大宽度和高度(兼容IE6)

    http://www.cnblogs.com/double-bin/archive/2011/12/19/2293093.html /* 最小寬度 */ .min_width{min-width:30 ...

  9. IOS 制作常用代码的快捷方式

    输入可以变的对象或类型,要用<#name#>

  10. Uva 11401 数三角形

    题目链接:https://uva.onlinejudge.org/external/114/11401.pdf 题意:1~n个数里面挑3个不同的数,组成一个三角形.求方案数. 分析: 令最长的边为X, ...