Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python返回多个参数

python返回多个参数

作者头像
狼啸风云
修改于 2022-09-02 12:53:16
修改于 2022-09-02 12:53:16
2.7K00
代码可运行
举报
运行总次数:0
代码可运行

返回多个值

函数可以返回多个值吗?答案是肯定的。

比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import math

def move(x, y, step, angle=0):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny

import math语句表示导入math包,并允许后续代码引用math包里的sincos等函数。

然后,我们就可以同时获得返回值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print(x, y)
151.96152422706632 70.0

但其实这只是一种假象,Python函数返回的仍然是单一值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)

原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

再python的迭代语法中也可以看到这种返回tuple的语法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for key in d:
...     print(key)
...
a
c
b

因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。

默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
定义函数
调用函数   Python内置了很多有用的函数,可直接调用   调用函数需知道函数的名称和参数,使用可参照官方的API文档   函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个别名
py3study
2020/01/15
8510
【Python】7“函数定义和使用“
空函数 教程里提到这个知识点“空函数”,也就是什么都不做的函数,使用到一个关键字 pass,它的意思是什么也不做,但代码也能运行。也可以看做是一个占位符,比如一段代码,还没有想好怎去写,这时候就可以在这个位置写上pass,可以让代码先运行起来。
肓己
2021/08/12
4280
Python 定义函数
ValueError: invalid literal for int() withbase 10: '12.3'
py3study
2020/01/10
1.1K0
python教程6--自定义函数,数据类型转换,解方程
本文主要讲解点如下: 简单函数 数据类型转换 空函数 自定义绝对值函数 自定义函数 检查参数类型 函数返回多个值 求解ax2 + bx + c = 0 的根 具体代码如下: '函数相关' __author__ = 'momo' import sys import math # 简单函数 print(abs(-12)) print(max(1,4,34,-23)) print(min(1,-3,-3,45,0)) print('----------------------') print('--
IT云清
2019/01/22
1.1K0
python学习笔记
原因:2017年2月4日 星期六 随笔记录。 说明:本文主要记录学习python的过程,需求不大,轻度使用,所以进行简单的认识性学习。 状态:Updating to 2.14
ZHaos
2019/02/27
2.7K0
Python基础笔记
Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
他叫自己MR.张
2019/07/01
1K0
Python基础——PyCharm版本——第六章、函数function
当我们知道半径r的值时,就可以根据公式计算出面积。假设我们需要计算3个不同大小的圆的面积:
红目香薰
2022/11/29
5090
Python基础——PyCharm版本——第六章、函数function
Python学习 Day 4 函数 切片 迭代 列表生成式 生成器
TypeError: my_abs() takes exactly 1argument (2 given)#参数个数不对
统计学家
2019/04/10
3740
Python基础笔记3
要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:
py3study
2020/01/03
3610
Python 3.6学习笔记(一)
可以看到,注释以#开头,python的变量不需要任何前缀,行结束不需要结束符号,非常符合我们自然语言的阅读和书写习惯。当语句以:结尾时,缩紧的语句视为代码块。
大江小浪
2018/07/24
4620
【收藏】Python教程基础篇,超详细超长!
前往 官网下载 对应平台对应工具。另外Python2.7版本和3.3版本并不兼容,所以开发时请注意使用Python的版本。
昱良
2019/07/04
1.6K0
人人都能学会的python编程教程11:定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
JKXQJ
2018/04/18
1.1K3
人人都能学会的python编程教程11:定义函数
记录我的Python学习笔记
不想再像以前那样,什么都从头开始学习语法、总结语法,这样反而会过分纠结于语法,耽误了开发,毕竟语言的主要属性是工具,次要的属性是语言本身。
py3study
2020/01/08
7700
python3_函数
欢迎与我分享你的看法。 转载请注明出处:http://taowusheng.cn/
yifei_
2022/11/14
2410
Python学习笔记(二)·函数
当代码出现有规律的重复的时候,你就需要当心了,每次写3.14 * x * x不仅很麻烦,而且,如果要把3.14改成3.14159265359的时候,得全部替换。
公爵
2022/09/28
1.7K0
Python学习笔记(二)·函数
Python3学习集合
打印 print("hello") print("这样","可以","连接","起来吗?",",自动识别为空格") print("试试"+"加好可以连接吗?","事实证明是可以的") print("1
一点儿也不潇洒
2018/08/07
1.2K0
Python|认识可迭代对象与迭代器
可迭代对象指的是定义了_ _ iter _ _ 方法的对象,调用该方法会返回一个迭代器对象。可迭代对象,例如:list列表、tuple元组、带有上述iter方法的对象等等。
算法与编程之美
2020/07/16
7860
Python3快速入门(三)——Pyth
Python3 中有六种标准数据类型: A、Number(数字) B、String(字符串) C、List(列表) D、Tuple(元组) E、Set(集合) F、Dictionary(字典) Python3 的六种标准数据类型中,Number(数字)、String(字符串)、Tuple(元组)是不可变的,List(列表)、Dictionary(字典)、Set(集合)是可变的。
py3study
2020/01/06
3.6K0
python基础及函数1
Python的程序执行方式:Python的程序编辑窗口、Python的解释器提示符。
py3study
2020/01/17
9470
一篇文章带你了解Python的迭代知识
大家好,我是Go进阶者。如果给定一个list或tuple,可以通过for循环来遍历这个list或tuple,这种遍历称为迭代(Iteration)。
Go进阶者
2021/03/24
3240
一篇文章带你了解Python的迭代知识
相关推荐
定义函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验