如何在Python中对代码块进行分组(类似于函数),但不需要定义参数?

如何在Python中对代码块进行分组(类似于函数),但不需要定义参数?,python,function,Python,Function,如何在Python中对代码块进行分组,类似于函数,但不需要定义参数 例如,该块如下所示: a = 2 b = 3 code_block() print(c) code_块(){ c=a+b } 我想在这样的代码中使用它: a = 2 b = 3 code_block() print(c) 您需要在函数中使用全局变量并初始化c a = 2 b = 3 c = 0 def code_block(): global a, b, c c = b + a code_block()

如何在Python中对代码块进行分组,类似于函数,但不需要定义参数

例如,该块如下所示:

a = 2
b = 3
code_block()
print(c)
code_块(){
c=a+b
}
我想在这样的代码中使用它:

a = 2
b = 3
code_block()
print(c)

您需要在函数中使用全局变量并初始化
c

a = 2
b = 3
c = 0

def code_block():
    global a, b, c
    c = b + a

code_block()
print(c)
从文件中:

在Python中,只在函数中引用的变量是 隐式全局。如果为变量指定了一个值,则 函数体,假定它是局部函数,除非显式 宣布为全球


只要变量在函数声明的范围内可见,您就可以定义自己的函数,而不需要对这些值进行操作的参数:

x = 0
y = 1
def add():
    return x+y
print(add())
请注意,作用域会创建这些值的隐式副本,即不可能在函数之外操作这些值,即

x = 0
def manipulate():
    x = 1
manipulate()
print(x)

仍将返回0。一个很好的解读是。

正如ScottMcC在他的回答中所指出的,如果您将变量定义为
global
,您也可以在外部操作变量。我的脚本要求我在
y=1
语句之后使用
print(add())
。因此,如果我在
def add():
之前执行
x=1
变量未定义错误,如果我在之后执行,则会显示函数未定义错误。