python_函数参数
1.参数的基本知识
- 任意个数
- 任意类型
def func(a1,a2,a3):
print(a1,a2,a3)
# 参数可以是任意个数和任意类型
func(1,'waf',True)
2.位置传参数(调用函数并传入参数)
实参数量和形惨数量要保持一致,并且顺序保持一致
3.关键字传参数
def func(a1,a2):
print(a1,a2)
# 实参直接给形参赋值,顺序可以调整
func(a2 = 'wdc',a1 = 123)
#关键字传参和位置传参可以混合使用
def func(a1,a2,a3):
print(a1,a2,a3)
# 但必须把位置传参放前面。关键字传参放后面
func('wdc',123,a3='rwq')
4.默认参数
# 在定义函数时,可以设置默认函数的值,a3的参数可以传可以不传
# 如果传的话,参数为传的值,如果不传则为默认值
def func(a1,a2,a3='yhf'):
print(a1,a2,a3)
func(123,'wdc')
func(123,'wdc','qweqe')
5.万能参数(打散)
*args
# *args将所有获取到的参数放到一个元组里面,*a可以接受任意个参数
def func(*args):
print(args)
func(123,'wdc')
func(123,'wdc','qweqe',(1,2,3))
def func(*args):
print(args)
# 元组里面套个元组
func((11, 22, 33, 44, 55))# a = ((11, 22, 33, 44, 55),)
# 元组前面带*可以将元组打散
func(*(11,22,33,44,55))# a = (11, 22, 33, 44, 55)
# 第一个参数给a1,其他参数给args
def func(a1,*args):
print(a1,args)
func('wdc',123,456,789)
# 这种情况下a2只能用关键字传参数
def func(a1,*args,a2):
print(a1,args,a2)
func('wdc',123,456,789,a2='yhf')
#不支持关键字传参,只支持位置传参
**kwargs
# 可接受任意个关键字参数
# **v1只能传关键字参数,生成一个字典{k1:1,k2:2}
def func(**kwargs):
print(kwargs)
func(k1 = 1,k2 = 2)
def func(**kwargs):
print(kwargs)
# 传递字典参数
func(**{'k1':1,'k2':2})
func(k1 = {'k1':1,'k2':2})
输出结果:
综合应用
# 真·万能参数
def func(*args,**kwargs):
print(args,kwargs)
func(1,2,3,k1 = 123,k2 = 'wdc')
func(*(1,2,3),k1 = 123,k2 = 'wdc')
func(*(1,2,3),**{'k1':123,'k2':'wdc'},k3 = 'yhf')
python_函数参数的更多相关文章
- Delphi_08_Delphi_Object_Pascal_基本语法_06_函数参数
发现Delphi中关于函数参数部分的内容还是比较多的,暂时说到这篇随笔为止吧,以后再继续讨论一下函数的参数部分的内容. 一 工程文件 program DefaultParameter; {$APPTY ...
- 深入理解javascript函数参数与闭包(一)
在看此文章,希望先阅读关于函数基础内容 函数定义与函数作用域 的章节,因为这篇文章或多或少会涉及函数基础的内容,而基础内容,我放在函数定义函数作用域 章节. 本文直接赘述函数参数与闭包,若涉及相关知识 ...
- php与js中函数参数的默认值设置
php函数参数默认值设置: <?phpfunction test($val=3){ echo $val."<br/>";}test(11);test();?& ...
- JS中的函数(二):函数参数(你可能不知道的参数传递)
前言: 函数分为有参有返回值,有参无返回值,无参无返回值,无参有返回值:那么对于无参数的函数你想使用函数的调用怎么办呢?如果你想封装一个代码,实现多种功能,但是形参大于实参或者实参大于形参又该如何?本 ...
- Python函数参数学习笔记
1.Python中函数参数类型可分为五种: f(x):x为位置参数: f(x,n=2):n为默认参数,调用时可以省略参数n,如f(5); f(*args):*args表示把args这个list或tup ...
- C语言指针变量作为函数参数
0x01 指针变量作为函数参数的作用是:将一个变量的地址传送到另一个函数中. 0x02 简单的例子:虽然都能实现功能,但意义不同. 正确的写法: #include <stdio.h> vo ...
- 深入理解javascript函数系列第二篇——函数参数
× 目录 [1]arguments [2]内部属性 [3]函数重载[4]参数传递 前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传 ...
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
- 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数
[源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...
随机推荐
- 【DSP开发】6455EMIF
外部设备连接接口包括外部存储器连接接口(EMIF).主机接口(HPI)等.外部存储器接口主要用来同并行存储器连接,这些存储器包括SDRAM.SBSRAM.Flash.SRAM存储器等,外部存储器接口 ...
- 【leetcode算法-简单】20. 有效的括号
[题目描述] 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字 ...
- 什么是 redis 的雪崩、穿透和击穿?
缓存雪崩 对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机.缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据 ...
- jumpserver0.4.0与python3版本安装
环境: 系统:CentOS 6.5 Python版本:Python3.6 安装目录:/Data/apps/ 一. 环境准备: 1. 基本工具库: # yum -y install sqlite-de ...
- Spring4学习回顾之路09-基于注解的方式配置bean
一:基于注解配置Bean 首先介绍下组件扫描(component scanning): Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 包括: -@Component ...
- Java多线程(十一):线程组
线程组 线程组可以批量管理线程和线程组对象. 一级关联 例子如下,建立一级关联. public class MyThread43 implements Runnable{ public void ru ...
- Pattern Recognition and Machine Learning-01-Preface
Preface Pattern recognition has its origins in engineering, whereas machine learning grew out of com ...
- JS经典算法
寻找500以内能被5和7整除的数字:for(var num=1;num<=500&&num++;) if(num%7==0&&num%5==0){ consol ...
- wepy2创建项目
1.首先 在桌面(自己选定目录下)新建一个文件夹,注意需要使用英文名. 2.Cmd中 进入到该文件目录下 3.安装 wepy 命令行工具. npm install wepy-cli -g wepy ...
- 使用cnpm淘宝镜像
选装cnpm 1.说明:因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事. 2.官方网址:http://npm.ta ...