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 函数基础 函数参数 函 ...
随机推荐
- 鼠标拖拉div宽度
先看效果 先进入页面 当鼠标停留在中间div时,鼠标变成双箭头 点击拖拉 往右边拉 往最左边拉 代码 <!DOCTYPE html> <html> <head> & ...
- js 数组扁平
// 数组扁平和去重 var arr = [[1,2,2],[3,4,5,5],[6,7,7,9,[11,12,[12,13,[14]]]],10]; function hello (arr) { l ...
- 类型限定符volatile
目录 类型限定符volatile 强制内存读取 禁止编译优化 注意:volatile不能够保证线程同步 volatile bool flag; volatile int a; 添加volatile限定 ...
- 粒子群优化算法(PSO)的基本概念
介绍了PSO基本概念,以及和遗传算法的区别: 粒子群算法(PSO)Matlab实现(两种解法)
- 关于Android的资源id
1 @+id/xx 这个表示向资源文件中添加一个新的id. @+id是在R文件中生成int xxx=value. 有两种情况 ①R文件中不存在xxx变量,则生成int xxx=value即为控件新建一 ...
- 【AtCoder】ARC067
ARC067 C - Factors of Factorial 这个直接套公式就是,先求出来每个质因数的指数幂,然后约数个数就是 \((1 + e_{1})(1 + e_{2})(1 + e_{3}) ...
- Spring中@Component与@Bean的区别
@Component和@Bean的目的是一样的,都是注册bean到Spring容器中. @Component VS @Bean @Component 和 它的子类型(@Controller, @S ...
- HDU - 2196(树形DP)
题目: A school bought the first computer some time ago(so this computer's id is 1). During the recent ...
- Neo4j
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做 ...
- hdu 1269 入手强连通
思路待整理 #include<cstdio> #include<iostream> #include<cstring> #include<vector> ...