一.为什么要使用函数

函数能提高应用的模块性,和代码的重复利用率。

二.函数的参数

位置参数:从左至右进行匹配

     一般情况,也就是我们迄今为止最常用的方法,是通过位置进行匹配把参数值传递给函数头部的参数名称,匹配顺序从左至右。

关键字参数:通过参数名进行匹配

      调用者可以定义哪一个函数接受这个值,通过在调用时使用参数的变量名,使用name=value这种语法。

默认参数:为没有传入值的参数定义参数值

     如果调用时传入的值过少的话,函数能为参数定义接受的默认值,再一次使用语法name=value

可变参数:收集任意多基于位置或关键字的参数

     函数能够使用特定的参数,他们是以*开头,收集任意多的额外参数(这个特征性 常常叫做可变参数)

可变参数解包:传递任意多的基于位置或关键字的参数

       调用者能够使用*语法将参数集合打散,分成参数。这个“*”与在函数头部的“*”恰恰相反:在函数头部他意味着收集任意多的参数,而在调用者中意味                           着传递任意多的参数

KeyWord-only参数:参数必须按照名称传递

                         函数可以指定参数,参数必须用带有关键字参数的名字来传递。这样的参数通常用来定义实际参数 以外的配置选项。

"""参数匹配语法"""

# 对于调用者来说:
func(value) # 位置参数:通过位置进行匹配
func(name=value) # 关键字参数:通过变量名匹配
func(*sequence) # 将参数集合解包,作为独立的位置,或关键字参数传入函数
func(**dict) # 将成对存在的关键字/值,并作为独立的关键字参数传入函数 # 对于函数定义来说
def func(name) # 位置参数:通过位置或变量名进行匹配
def func(name=value)# 默认参数
def func(*name) # 匹配并收集(在元组中)所包含位置的参数
def func(**name) # 匹配并收集(在字典中)所包含位置的参数
def func(*args, name)# 参数必须在调用中按照关键字传递 """ 在函数调用中,简单的通过变量名位置进行匹配,但是使用name=value的形式
告诉python依照变量名进行匹配,这叫做关键字参数。在调用*sequence或者
**dict允许我们在一个序列或字典中相应的封装任意多的位置相关或关键字的对象
并且在将他们传递给函数的时候,将他们解包为分开的单个的参数
"""
"""
在函数定义的时候,一个简单的变量名是通过位置或变量名进行匹配的(取决于调用者如何传递参数)
但是name=value的形式定义了默认的参数值。*name的形式收集了任意的额外不匹配的参数到元组中,
并且**name的形式将会收集额外的关键字参数到字典中。python3之后跟在*name或者一个单独的*之后
的任何正式的或默认的参数名称,都是Keyword-only参数,并且必须在调用中按照关键字传递
"""
"""
在函数调用中,参数必须以此顺序出现:任何位置参数,紧跟着任何关键字参数和*sequence形式的组合,后面跟**dict
在函数定义时,参数必须以此顺序出现:一般参数,紧跟着任何默认参数,如果有的话后面是*name(或者*)的形式后面跟着name或者name=value,后面跟着**name
"""
 

python学习——函数参数的更多相关文章

  1. (转)python中函数参数中如果带有默认参数list的特殊情况

    在python中函数参数中如果带有默认参数list遇到问题 先看一段代码 1 2 3 4 5 6 7 8 9 def f(x,l=[]):     for i in range(x):         ...

  2. python中函数参数的引用方式

    值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方 ...

  3. Python基础-函数参数

    Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要 本文详细介绍了函数的各种形参类型,包括位置参数,默认参数值,关键字参数,任意参数列表,强制关键字参数:也介绍了调用函 ...

  4. Python学习-函数,函数参数,作用域

    一.函数介绍 函数定义:函数时组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 我们已经知道python提供了许多内建函数,print(), type()等.我们也可以自己创建函数,这被叫 ...

  5. python学习——函数及其参数

    函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.严格来说python只有函数,没有过程,人们理解的函数都是带有return的,而过程 ...

  6. python学习-函数和lambda表达式(五)

    5.2函数参数 位置参数:根据位置传入参数 关键字参数:根据参数名来传入参数 def girth(width, height): print("width:", width) pr ...

  7. 第5.2节 Python的函数参数收集

    函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...

  8. Python之函数&参数&参数解构

    1.1函数定义 def 函数名(参数列表): 函数体(代码块) [return 返回值] p 函数名就是标识符,命名要求一样 语句块必须缩进,约定4个空格 Python的函数没有return语句,隐式 ...

  9. python学习——函数进阶

    首先来看下面这个函数. def func(x,y): bigger = x if x > y else y return bigger ret = func(10,20) print(ret) ...

随机推荐

  1. K2 smarforms 控件整理

    K2 Community – Market – Smatform Controls l   K2 blackpearl 1.    Drag and Drop Upload Control http: ...

  2. php框架内的数据库操作(微擎,tp,yii2)

    微擎数据库操作 关键字 查询 pdo_get pdo_getcolumn pdo_getall pdo_getslice pdo_fetchcolumn pdo_fetchall 示例: array ...

  3. python课堂整理1

      1.变量 变量只能由字母.数字.下划线组成 特例:1.变量不能用数字开头    2.不能是python的关键字 3.最好不要和python内置的东西重复 让变量名有意义 些 python3的关键字 ...

  4. java oop 单列 双列 集合, 迭代器 的使用和说明

    一.集合(Collection) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组 而数组的长度固定, ...

  5. [转]jQuery不同版本区别

    原文转载自csdn:http://blog.csdn.net/u010167032/article/details/23666145 了解不同版本之间的差异,与助于选择适合自己项目的版本. ⒈4重要新 ...

  6. Asp.Net MVC 高级特性(附带源码剖析)

    1. 程序入口(MvcHandler,RouteHandler,HttpModule) 2.异步类包(静态类AsyncResultWrapper),开启整个MVC异步循环 3.Aggregate递归链 ...

  7. Java几种常见的排序算法

    一.所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法.排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面. ...

  8. Jenkins Java 反序列化远程执行代码漏洞(CVE-2017-1000353)

    Jenkins Java 反序列化远程执行代码漏洞(CVE-2017-1000353) 一.漏洞描述 该漏洞存在于使用HTTP协议的双向通信通道的具体实现代码中,jenkins利用此通道来接收命令,恶 ...

  9. scripts may close only the windows that were opened by it 浏览器JS控制无法关闭当前页面

    非window.open形式打开的子页面用js的window.close在chrome下就会提示scripts may close only the windows that were opened ...

  10. S3 介绍

    S3 是ceph rgw的基础,在学习RGW之前,先了解S3.