繁体   English   中英

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

[英]How can I group a block of code in Python, similar to function, but without the need to define the parameters?

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

例如,块是这样的:

code_block() {
    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 中局部变量和全局变量的规则是什么?

在 Python 中,仅在函数内部引用的变量是隐式全局变量。 如果在函数体内的任何地方为变量赋值,则假定它是局部变量,除非明确声明为全局变量。

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

x = 0
y = 1
def add():
    return x+y
print(add())

请注意,作用域会创建这些值的隐式副本,即无法在函数外部操作这些值,即

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

仍将返回 0。 这篇文章很好读。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM