【发布时间】:2022-01-19 02:12:43
【问题描述】:
我试图了解python究竟是如何知道单词变量在这里实际上是一个单词:
for word in file.read().lower().split():
此处的文件是一个 .txt 文件,这是在此函数之前定义的唯一内容。另外,导入的集合模块
我是初学者,如果有人能在这里向我解释这可能是超级基本的基本知识,我将不胜感激。
【问题讨论】:
-
因为每个“值”都带有它的“类型”,而不是每个“变量”
-
每当你调用一个函数(如
.read()或.lower()等,甚至像print()这样的函数)它都有一个返回值。对于print(),即None,您通常会忽略它,但对于像.split()这样的函数,返回类型是字符串列表——因此,如果您使用for 循环遍历该列表,则循环变量@987654328 @ 将被分配该列表中的元素,即字符串str- @donkopotamus 是正确的,类型与值相关联(这里是函数返回的值)并且变量只是分配了该值(并且具有结果输入) -
"python 究竟是如何知道这个词变量在这里实际上是一个词:" 我不明白你为什么认为它确实“知道”任何这样的事情。我也不清楚哪个是问题 - 关于它是 string (如标题)还是“单词”(如问题本身)。但是“单词”在 Python 中并不是一个单独的类型,它们只是恰好代表一个单词的字符串。就像“奇数”不是特殊类型一样;它们只是碰巧不能被 2 整除的整数。
-
欢迎来到 Stack Overflow。您似乎对语言的某些方面的工作方式普遍缺乏了解,并且由于您没有该基础而难以正确解释问题。您可能应该尝试按照教程而不是在这里询问。很难正确回答这个问题,因为在你想用来思考情况的术语中,没有一个有意义的问题。
-
您没有定义
word是什么;也就是说,您可能将自己对word“应该是”的理解与您使用的变量名混为一谈。