我对编程非常陌生,我从Python开始。我将大约30个视频加入到一个流行的在线课程中。在最近的教程中,讲师介绍了范围[例如,范围(0,10,1)]。几分钟后,导师将range或range()称为:
事实证明,范围也在序列数据类型中,我想它也可以称为“对象”,对吗?我理解,同一件“事情”可以根据上下文以不同的方式描述。例如,说我既是加拿大人又是丈夫并不矛盾。问题是,当我试图理解Python中给定术语的角色或状态时,要将所有这些类别保持在头脑中。是否有一些规则、图表、方法或定义集可以理解给定“事物”在Python中扮演的所有角色?谢谢你的帮助
下面不只是回答
range()
是什么,而是试图展示如何研究python中的东西是什么或不是什么。我们可以在每个步骤中检查两件事,抽象range
,以及分配给变量的初始示例(q是一个糟糕的变量名,但为了简洁起见很有用):我们还可以导入一些有关检查types和keyword的帮助:
现在,让我们看看你提出的“它是什么”选项
操作员在python中,内置操作符“执行对象比较、逻辑操作、数学操作和序列操作”(来自the operator module docs),您可以在提供的链接中看到一长串操作符,而
函数(或方法)range()
不在其中乍一看,这是一个更令人困惑的问题,因为谷歌搜索“python range function”会给出数千个非常权威的点击。此外,内置函数的文档中甚至列出了范围。也就是说,根据相同的文档,它不是一个函数:“类范围(开始,停止[,步骤])”。我们可以如下测试,使用我们早期的导入和pythonic方法来检查某物是否是您认为的那样,
isinstance()
:关键字
谢天谢地,这要简单得多
您还可以使用
发电机print(keyword.kwlist)
查看python中所有关键字的列表正如注释中提到的,虽然
range()
确实生成了一些东西,但在python中它不是generator
类型的对象。让我们再检查一下:现在我们可以看看其他一些选项,从the docs for range开始得到权威的答案:“rangetype表示一个不可变的数字序列…”
可以理解,这是准确的,但对于第一次学习的人来说很难解析。检查对象类型的最简单方法(除了使用
types
和isinstance
)是只检查type()
。这给出了有趣的同义反复定义,例如:那么什么是
range
,什么是范围的实例最后,结束你问题的最后一部分,它是一个物体吗? python中的一切都是对象
因此,从上面,我们可以推断“python中的范围是什么?”的答案是:范围是一种类型,定义的范围是}的
range
{object
实例相关问题 更多 >
编程相关推荐