为了账号安全,请及时绑定邮箱和手机立即绑定

我可以在python中将变量命名为“ now”吗?

我可以在python中将变量命名为“ now”吗?

翻过高山走不出你 2021-05-13 18:14:01
这似乎是一个幼稚的问题,但到目前为止,我在网络上没有找到任何答案,并且我不想在我的代码中引起任何不一致的行为。我可以now在python代码中命名变量吗?有一个名为的功能now(),这就是为什么我对此表示怀疑的原因。例子:now = datetime.datetime.now()可以将其视为存储返回值的任何普通变量datetime.datetime.now()吗?还是在任何时候都有不同的表现?
查看完整描述

3 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

now 不是python中的关键字,因此您可以将其用作变量名。


有可能干扰datetime.datetime.now()吗?不。


详细说明:也没有命名为now()的函数;它与datetime对象相关联(这是一个类方法),您将始终需要datetime.now()使用它。因此,它始终与名为的变量区分开now。


仅当您按以下方式分配时:


now = datetime.datetime.now

在这里,名为的新变量now等于datetime.now() 函数(而不是函数的结果)。但是在这种情况下,您要对此工作完全负责。即使那样,更改now为其他内容也不会更改datetime.now。


使用,但是


now = datetime.datetime.now()

将函数调用的结果分配给变量now(而不是函数本身),并且该函数保持原样。


值得注意的是,是否应该覆盖内置函数。这是Python 3.7中的内置函数的列表。


您可以为每个名称分配一个值,但实际上您会失去该功能*,以后可能会遇到麻烦。例如:


str = "Hello there"

a = 123

<more code>

value = str(a)  # causes a TypeError, because we re-assigned str

因此,请尽量避免这种情况(这list = [1,2,3]是应该避免的另一个常见错误)。


但now()不是内置函数,如上所述。


*即使重新分配后,也有一些方法可以检索原始的内置函数,但这不在本主题的讨论范围之内。


查看完整回答
反对 回复 2021-05-18
?
慕容3067478

TA贡献1773条经验 获得超3个赞

以下是python中使用的关键字,此外,您还可以使用所需的任何关键字


False      await      else       import     pass

None       break      except     in         raise

True       class      finally    is         return

and        continue   for        lambda     try

as         def        from       nonlocal   while

assert     del        global     not        with

async      elif       if         or         yield

我希望回答你的问题


查看完整回答
反对 回复 2021-05-18
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

import this 说


命名空间是一个很棒的主意-让我们做更多这些吧!


now即使有一个调用的函数,您也可以将其用作变量,datetime.datetime.now()因为该函数位于另一个名称空间中。每个模块(例如module datetime)都是一个名称空间,并且该模块(例如datetime.datetime)中的每个类或类型都是一个单独的名称空间。即使在函数内部,您也可以创建一个与周围代码中定义的名称相同的局部变量:


a = 1


def f(x):

    a = x + 2

    print (a)


f(4)                  # prints 6

print (a)             # prints 1

尽管这样做可能会使您的代码读者(包括您自己)感到困惑。


查看完整回答
反对 回复 2021-05-18
  • 3 回答
  • 0 关注
  • 191 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号