当前位置: 首页 > 知识库问答 >
问题:

为什么不打印None然后打印7?python

闾丘卓
2023-03-14

所以我有这个代码,叫我白痴哈哈,但是我不能让它打印7。

代码:

def function(parameter):
    parameter = parameter + 1
parameter = 6
print(function(parameter))
print(parameter == 7)

我需要知道如何改变与函数中的参数同名的变量。

任何帮助都将不胜感激,如果你不明白这个问题,我很乐意解释更多。

共有3个答案

陈毅
2023-03-14

参数定义为全局参数,而不实际将其作为参数传递:

def function():
    global parameter
    parameter += 1
终育
2023-03-14

因为我真的讨厌全局变量,所以我会这样做:

def function(parameter):
    return parameter + 1
parameter = function(6)
print(parameter)
print(parameter == 7)

输出

7
True

基本上,通过指定一个与参数同名的变量并分配函数,您可以改变参数,就好像它是同一个变量一样。请注意,情况并非如此,它实际上不是同一个对象。但是,如果你的目标是使用相同的名称,它是有效的。

陆雅志
2023-03-14

它打印,因为您的函数()不返回任何内容。

它打印False,因为参数(当前为6)不等于7

要更改被局部变量屏蔽的全局变量,请使用globals()函数:

def function(parameter):
    globals()['parameter'] += 1
 类似资料:
  • 问题内容: 我生成了x的两个矩阵: 第一矩阵:和。 第二矩阵:和。 使用以下代码,第一个矩阵花费了8.52秒完成: 使用此代码,第二个矩阵花费了259.152秒来完成: 运行时间显着不同的原因是什么? 正如评论所说,仅打印需要秒,而给。 正如其他指出它对他们正常工作的人一样,例如,我尝试了Ideone.com,这两段代码以相同的速度执行。 测试条件: 我从 Netbeans 7.2 运行了此测试,

  • 我正在写一份简单的银行申请书。在我的程序中,我使用了while循环。如果用户输入错误,它将再次提示用户输入。 现在的问题是我无法编写任何语句。它总是显示错误(比如:unreachable语句),最终该行不会被打印出来。 我该怎么解决这个问题? [我之所以需要使用,是因为我想打印用户输入的所有信息。] 我正在从事的项目:

  • 问题内容: 文本文件中确实包含int和字符串。我可以从文本文件中打印单词,但不能打印数字。 文本文件包括以下内容: Michael 3000 7000 Bilbo 我喜欢2000号吗? 不,我喜欢9000 问题答案: 您的第一个值(“ Michael”) 不是 整数,因此它永远不会进入循环主体。 也许您想更改代码以使其循环播放,直到到达文件末尾,读取并打印整数,但使用(不打印)非整数值。所以像这样

  • 在python为什么 我想当时,这应该是正确的。应该给我,但是为什么没有?如果这是对的,为什么当,它给我?

  • 问题内容: 我正在阅读一个python脚本,该脚本接受XML文件的输入并输出XML文件。但是,我不了解打印语法。可有人请解释什么的呢? 问题答案: 该方法格式化字符串字面量 和它的新功能。 甲 格式的字符串文字 或 F-串 是前缀字符串文字或。这些字符串可能包含替换字段,这些替换字段由花括号分隔。尽管其他字符串文字始终具有恒定值,但是格式化的字符串实际上是在运行时评估的表达式。 格式化字符串文字的

  • 在编写测试用例时,我使用Mockito模拟某个类。 有没有办法在返回值之前打印一些语句?例如: 上述声明有效,但我无法做到以下几点: