python函数传参和返回值注意事项
函数传参
- 空参数
定义函数时括号里面没有形参,调用时不用传参。
def func():
print('null para.')
# 调用
func()
- 位置传参
规定形参的数量,调用时必须传递相同数量的形参。
def func(a, b):
print(a,b)
# 调用
func(11, 22)
- 带默认参数的形参
带默认值的参数位于非默认值参数的后面, 即位于位置参数,可变参数后面。
def func(a, b, c=0):
print(a, b, c)
# 调用
func(11, 22)
- 传递元组型可变参数
def f2(a, b, *args):
print(a)
print(b)
print(args)
rest = f2(10, 20, 30, 40, 50)
print(rest)
执行结果:
10
20
(30, 40, 50)
- 元组传参传递的另一种方式:
def f2(a, b, *args):
print(a)
print(b)
print(args)
my_tuple = (30, 40, 50)
rest = f2(10, 20, *my_tuple)
print(rest)
执行结果:
10
20
(30, 40, 50)
除位置参数10, 20以后的数据自动赋值给了元组形参*args
如果只传10,20这2个参数给f2函数也不会报错,此时元组接收的参数为空。
- 传递字典型可变参数
def f2(a, b, **kwargs):
print(a)
print(b)
print(kwargs)
rest = f2(10, 20, ka=558, kb='bbb')
print(rest)
执行结果:
10
20
{'ka': 558, 'kb': 'bbb'}
- 传递字典参数的另一种形式:
def f2(a, b, **kwargs):
print(a)
print(b)
print(kwargs)
kw_para = {'ka': 558,' kb': 'bbb'}
rest = f2(10, 20, **kw_para)
print(rest)
执行结果:
10
20
{'ka': 558, 'kb': 'bbb'}
- 位置参数、元组参数、字典参数混合传参
def f2(a, b, *args, **kwargs):
print(a)
print(b)
print(args)
print(kwargs)
my_kw = {'ka': 558, 'kb': 'bbb'}
my_tuple = (30, 40, 50)
rest = f2(10, 20, *my_tuple, **my_kw)
print(rest)
结果:
10
20
(30, 40, 50)
{'ka': 558, 'kb': 'bbb'}
按位置参数、元组参数、字典参数的顺序定义函数和调用,位置顺序不能调换!
除非有带默认参数的位置参数,此时带有默认参数的位置参数需要放到元组参数和字典参数之间。
- 带有默认参数的位置参数、元组参数、字典参数混合传参
def f2(a, *args, b=0, **kwargs):
print(a)
print(b)
print(args)
print(kwargs)
my_kw = {'ka': 558, 'kb': 'bbb'}
my_tuple = (30, 40, 50)
rest = f2(10, *my_tuple, **my_kw)
print(rest)
结果:
10
0
(30, 40, 50)
{'ka': 558, 'kb': 'bbb'}
函数返回值
- 函数执行完不出现return语句,或者return语句不返回值,此时调用者收到的返回值为None。
- 可以返回一个元组。
def func():
return 1, 2, 3
x, y, z = func()
- 返回其他对象等。
python函数传参和返回值注意事项的更多相关文章
- python函数入参和返回值
以下内容参考自runoob网站,以总结python函数知识点,巩固基础知识,特此鸣谢! 原文地址:http://www.runoob.com/python3/python3-function.html ...
- 悉数 Python 函数传参的语法糖
TIOBE排行榜是程序开发语言的流行使用程度的有效指标,对世界范围内开发语言的走势具有重要参考意义.随着数据挖掘.机器学习和人工智能相关概念的风行,Python一举收获2018年年度语言,这也是Pyt ...
- python函数传参是传值还是传引用?
首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...
- arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值
环境及代码介绍 环境和源码 由于有时候要透彻的理解C里面的一些细节问题,所有有必要看看汇编,首先这一切的开始就是从汇编代码进入C的main函数过程.这里不使用编译器自动生成的这部分汇编代码,因为编译器 ...
- 深入理解PHP内核(十二)函数-函数的定义、传参及返回值
原文链接:http://www.orlion.ga/344/ 一.函数的定义 用户函数的定义从function 关键字开始,如下 function foo($var) { echo $var; ...
- 深入理解PHP内核(六)函数的定义、传参及返回值
一.函数的定义 用户函数的定义从function 关键字开始,如下 function foo($var) { echo $var; } 1.词法分析 在Zend/zend_language_scann ...
- python函数 传参的多种方式 解读
1.函数的参数在哪里定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号, 隔开 案列: 2.带参数的函数调用: 函数定义了参数,那么 ...
- python函数的使用和返回值
#coding=utf-8 def a(): i=1a() #函数的返回值,用return语句实现 #一个返回值的情况def test(): i=7 return iprint test() #多个返 ...
- springboot实现xml传参和返回值
1.新建maven工程xml-bean-convert pom.xml如下 <?xml version="1.0" encoding="UTF-8"?&g ...
随机推荐
- C++ 对象间通讯机制 框架实现
// SignalSlot.h: interface for the CSignalSlot class. // /////////////////////////////////////////// ...
- plt.imshow()为什么不能显示同时显两张照片
在编程的过程中发现plt.imshow()不能同时显示两张照片,如果有两条plt.imshow()语句处于一前一后的位置,那么程序运行后只会显示后面的图片.如果想让每一张图片都显示出来,需要在每一个p ...
- Codeforces Gym 100269 Dwarf Tower (最短路)
题目连接: http://codeforces.com/gym/100269/attachments Description Little Vasya is playing a new game na ...
- 【初识TypeScript】 配置环境后运行Hello World编译报错.
第一次接触TypeScript,配置好环境后, 发现连编写个最基本的Hello World都报错,代码如下: const hello:string = "Hello World!" ...
- CentOS7 日常操作
A 安装netstat1.首先配置好本机的yum源: yum repolist all2.利用netstat命令,却提示:-bash: netstat: command not found3.执行yu ...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_05 List集合_2_Arraylist集合
数组查询快,增删慢. 不是同步的就是多线程的 ArrayList其实就是一个数组 这是add方法 它在添加元素的时候会创建新的数组,然后把元素复制过来.这就是为什么查询快,增删们的原因. 每次增加元素 ...
- 微服务架构spring cloud - gateway网关限流
1.算法 在高并发的应用中,限流是一个绕不开的话题.限流可以保障我们的 API 服务对所有用户的可用性,也可以防止网络攻击. 一般开发高并发系统常见的限流有:限制总并发数(比如数据库连接池.线程池). ...
- MongoDB优化心得分享
这里总结下这段时间使用mongo的心得,列出了几个需要注意的地方. 1. 系统参数及mongo参数设置 mongo参数主要是storageEngine和directoryperdb,这两个参数一开始不 ...
- Monte Carlo Control
Problem of State-Value Function Similar as Policy Iteration in Model-Based Learning, Generalized Pol ...
- IDEA&GIT应用
IDEA&GIT应用 一.IDEA整合GIT GIT教程:http://www.yiibai.com/git/git_pull.html File->Settings.. 1.从GIT上 ...