python函数—形参、实参、位置参数、关键字参数
1.通过def function_name([parameter]): 定义,函数一遇到return即结束运行。如果函数没有定义返回值,则返回None,如果定义了一个返回值,则返回该对象,如果一个return中有多个返回值,会将所有对象封装成一个元组返回。
2.定义函数时的参数叫作形参,形参只在被调用时分配内存单元,调用结束后即释放内存;调用函数时传入的参数叫作实参,实参可以是常量、变量、表达式、函数等。未在函数定义时指定默认值的形参,必须在调用时指定值。
3.位置参数即函数调用时传入的参数与定义的位置和值一一对应,关键字参数即在函数调用时通过参数=值指定各个参数的值,此时与位置无关,例如定义函数def test(x,y,z)
位置参数:通过test(1,2,3)调用,则参数1、2、3与x、y、z一一对应
关键字参数:通过test(y=2,z=3,x=1)调用,此时需指定每个参数的值,个数要与定义时一致但是位置可随意
位置参数和关键字参数混合使用:位置参数需在关键字参数前面,关键字参数按顺序赋值,例如test(1,2,z=3),但是test(x=1,2,3)、test(1,2,y=3)会报错
默认参数:如果函数定义时指定一个默认值def test(x,y,z=2),调用时可不指定z的值也可指定,指定则会覆盖默认值2,如通过def test(1,2)或者test(1,2,3)调用
4.*args和**kwargs,不定长参数,一个函数如果同时有*args和**kwargs参数,*args参数必须在**kwargs前面,并且如果有默认参数,默认参数一定要放在最前面
*args是将函数调用时多余传入的、没有关键字的参数收纳在一起形成一个元组赋值给形参,或者通过*[各元素]、*(各元素),将列表、元组中的各个元素分开赋值给形参
**kwargs是将多余传入的、有关键字的参数收纳在一起形成一个字典赋值给形参,或者通过**{各元素}将字典中的各个元素分开赋值给形参
5.global 变量名:表示全局变量,nonlocal 变量名:表示上一级变量
全局变量如果要在局部被修改,必须要加global指定是全局变量,否则不能被修改
6.嵌套函数的执行顺序

python函数—形参、实参、位置参数、关键字参数的更多相关文章
- 第十一篇 Python函数之定义&形参&实参&位置参数&关键字参数&可变长参数&默认参数
函数的定义:函数是为了完成某一特定功能的,函数是逻辑结构化和过程化的一种编程方法 函数的定义格式,函数一般都是有返回值的 #语法 #函数名要能反映其意义 def 函数名(参数1,参数2,参数3,... ...
- python学习道路(day4note)(函数,形参实参位置参数匿名参数,匿名函数,高阶函数,镶嵌函数)
1.函数 2种编程方法 关键词面向对象:华山派 --->> 类----->class面向过程:少林派 -->> 过程--->def 函数式编程:逍遥派 --> ...
- Python - 函数形参之必填参数、缺省参数、可变参数、关键字参数的详细使用
Python函数形参 必传参数:平时最常用的,必传确定数量的参数 缺省参数:在调用函数时可以传也可以不传,如果不传将使用默认值 可变参数:可变长度参数 关键字参数:长度可变,但是需要以kv对形式传参 ...
- python函数——形参中的:*args和**kwargs
python函数——形参中的:*args和**kwargs 多个实参,放到一个元组里面,以*开头,可以传多个参数:**是形参中按照关键字传值把多余的传值以字典的方式呈现 *args:(表示的就是将 ...
- python的函数介绍 位置参数 关键字参数 默认参数 参数组 *args **kwargs
1.数学意义的函数与python中的函数 数学意义的函数 y = 2*3+1 x =3 y =7 x是自变量,y是因变量 2.python中定义函数的方法 一个函数往往都是为了完成一个特定的功能而存在 ...
- python 函数(实参与形参、传递参数)
函数 什么是函数?函数是带名字的代码块,用于完成具体的工作.写出一个函数后,就可以一直调用. 定义函数,函数的基本组成: 1.1 向函数传递参数 向函数中传递任意参数,这样打印出的结果就可以根据自己的 ...
- python函数中的位置参数、默认参数、关键字参数、可变参数区别
一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_d ...
- python3中匿名函数做参数,匿名函数做实参,eval关键字
一:说到匿名函数,大家都感到陌生又熟悉,今天我带大家了解一下py3中的匿名函数,以及匿名函数作为函数的参数的情况 主要通过以下实例来说明: 实例一: newarr =[33,44444,6222,88 ...
- Python基础之只接收关键字参数的函数
当我们希望函数的某些参数强制使用关键字参数时,可以将强制关键字参数放到某个*后面就能得到这种效果.比如: def recv(maxsize, *, block): """ ...
随机推荐
- Centos7 安装hive
安装hive 配置hive 在hdfs中新建目录/user/hive/warehouse 首先启动hadoop任务 hdfs dfs -mkdir /tmp hdfs dfs -mkdir /user ...
- c++中inline函数的意义
inline C++关键字,在函数声明或定义中函数返回类型前加上关键字inline,即可以把函数指定为内联函数.关键字inline必须与函数定义放在一起才能使函数成为内联,仅仅将inline放在函数声 ...
- MapReduce部分源码解读(一)
/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agree ...
- android java epson串口打印机
package com.common.util.portprinter; import java.io.IOException; import java.io.OutputStream; import ...
- train_test_split, 关于随机抽样和分层抽样
https://zhuanlan.zhihu.com/p/49991313 在将样本数据分成训练集和测试集的时候,应当谨慎地考虑一下是采用纯随机抽样,还是分层抽样. 通常,数据集如果足够大,纯随机抽样 ...
- 2018/03/26 每日一个Linux命令 之 du
昨天使用 df 查看了磁盘空间中所有的容量. 今天学习 du 查看目录或者文件的大小. du会显示指定的目录或文件所占用的磁盘空间. -- du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合 ...
- 几种常见web攻击手段及其防御方式
XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross ...
- java-JProfiler(五)-监控性能
原文地址:http://blog.csdn.net/chendc201/article/details/22897999 一.基础认识 1. 在Live Memory视图里右击相关类,选中Mark C ...
- 机器学习理论基础学习14.2---线性动态系统-粒子滤波 particle filter
一.背景 与卡曼滤波不同的是,粒子滤波假设隐变量之间(隐变量与观测变量之间)是非线性的,并且不满足高斯分布,可以是任意的关系. 求解的还是和卡曼滤波一样,但由于分布不明确,所以需要用采样的方法求解. ...
- 机器学习理论基础学习16---高斯网络(GN)
一.高斯网络(高斯图模型)总体介绍 概率图模型分为三种:贝叶斯网络,马尔科夫随机场以及高斯网络:而高斯网络又可以根据有向无向细分为高斯贝叶斯网络和高斯马尔科夫随机场 二.高斯贝叶斯网络 1.高斯贝叶斯 ...