【问题标题】:What does 'None' mean in Python? [duplicate]Python中的“无”是什么意思? [复制]
【发布时间】:2018-05-19 14:36:50
【问题描述】:

当我学习编码并试图理解下面给出的代码行时,我被卡住了:(

所以我真的想知道为什么当我指定 name = None、first_name = None、last_name = None 时,当我将某些内容设置为 None 时,代码仍然会打印 first_name 和 last_name(从有关 python 字典的视频中学到),为什么没有t Boolean 给我一个 False Error 甚至什么也不打印?

def packer(name=None, **kwargs):
  print(kwargs)


def unpacker(first_name=None, last_name=None):
  if first_name and last_name:
    print('Hi {} {}'.format(first_name, last_name))
  else:
    print('Hi no name!')

packer(name='Elgene', num=42, spanish_inquisition=None)
unpacker(**{'last_name': 'Ee', 'first_name': 'Elgene'})

【问题讨论】:

  • 这是一个空值
  • 欢迎来到 StackOverflow。但是,在此处发布问题之前,您需要自己进行一些研究和工作。您是否在“python none”或类似内容上进行了网络搜索?
  • 因为名字和姓氏实际上是被赋值的。函数中 = 附带的参数是可选的。如果在调用函数时未传入,则函数将使用 = 之后的任何内容运行。在您的情况下,使用 Ee 作为姓氏并将 Elgene 作为名字调用 unpacker,因此该函数使用它而不是默认值 None。这就是为什么它打印出名称而不是无。

标签: python python-3.x


【解决方案1】:

就像在 cmets 中所说,None 是一个空值。 在编写“if”语句需要值才能继续的代码时,它很有用....

import numpy

x=numpy.array([1.0,2.0,3.0])

if array_ is None: 
    pass
else: 
    x+=array_**2

其中 array_ 是一个 numpy 数组,它从命令行的参数中分配了一个值或从文件中收集(如果文件存在)。如果存在,则在代码中使用它,如果没有分配值,则不使用它(对于代码的工作来说往往不是至关重要的)。

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 2019-03-30
    • 2019-04-15
    • 2020-03-26
    • 2019-12-17
    • 2011-12-23
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多