python中的变量赋值:当运行x时,赋值x=23产生错误。/4

python中的变量赋值:当运行x时,赋值x=23产生错误。/4,python,variable-assignment,Python,Variable Assignment,当我在Python2.7.5中运行以下程序时,我得到 >>> x=23 >>> print x 23 好的 类似地,类型(x)是int 当我运行以下程序时: >>> print 23./4 5.75 还好。但当我运行最后一个程序时: >>> x=23 >>> print x./23 >>> File "<stdin>", line 1 print x./4

当我在Python2.7.5中运行以下程序时,我得到

>>> x=23
>>> print x
23
好的

类似地,类型(x)是int

当我运行以下程序时:

>>> print 23./4
5.75
还好。但当我运行最后一个程序时:

>>> x=23
>>> print x./23
>>> File "<stdin>", line 1
print x./4
        ^SyntaxError: invalid syntax
>x=23
>>>打印x./23
>>>文件“”,第1行
打印x/4
^SyntaxError:无效语法

i、 我得到一个语法错误。但是我可以用x做其他算术运算,把它当作整数23;x+1产生24,x/23产生1,依此类推。这是怎么回事?p、 这是我的第一篇文章,希望格式没问题。

小数点可以是数字文字的一部分。不能在变量后使用它(作为小数点);在该上下文中,它将被解释为属性访问,并且需要在其后面加一个属性名。出于同样的原因,您可以执行
23/4
,但不能设置
x=2
,然后执行
x3/4
。使用变量并不意味着它的文本值会在此时以文本形式粘贴到代码中。

请注意,以下程序也会失败:

x = 10
print x5
尽管该程序有效:

print 105
如果上述内容有意义,那么这里唯一缺少的部分就是理解
23。
23.0
的缩写,它是一个单独的实体,而不是两个独立的实体(
23


然而,如果我上面的例子对你来说也不直观,那么你对变量的理解就有点偏离了,我建议你在你使用的任何一本教科书中重温关于变量的章节。

而不是那样做,以达到这个结果,您必须将除法部分的其中一种类型更改为float,并且不需要
符号。以下是您的代码应该是什么:

x = 23
print x / float(4)
或者你可以这样做

x = 23
print float(x) / 4
它将为您提供所需的结果,即
5.75


希望它有帮助

但是
x.
不是
23.
。那是无效的语法。变量不是宏。这里没有什么神奇的事情,
变量。
只是无效语法。Andrew是正确的,因为它是无效语法。您正在尝试的已经有了一个称为casting的优雅解决方案,您可以将一种类型的变量转换为另一种类型(例如integer==>float)。只需对变量调用float,如下所示:
float(x)
23。
23.0
的缩写。就像
x.0
没有意义一样,
x也没有意义。
x没有任何问题。。这就是访问属性的方式。当您使用类似于
/
的内容或数字(它们不是有效的标识符)来遵循这些内容时,就会出现问题。您编写的内容确实有意义。以下内容大致正确吗因此,变量不仅仅是它被赋予的对象的另一个名称。但是如果我们以语法正确的方式使用它(比如x+3,x=23),那么它将“访问”它的值。谢谢你的评论。我一直错误地认为x=23意味着从今以后x只是23的另一个名称。@qwert4321:在某种意义上是,但它是值的名称,而不是文本表示。