我是Python的新手,所以这可能是一个简单的范围问题.Python文件(模块)中的以下代码让我感到困惑:
if __name__ == '__main__':
x = 1
print x
Run Code Online (Sandbox Code Playgroud)
在我工作过的其他语言中,这段代码会引发异常,因为x变量是if语句的本地变量,不应该存在于它之外.但是这段代码执行并打印1.任何人都可以解释这种行为吗?模块中创建的所有变量是全局/可用于整个模块吗?
我正在尝试创建一个函数,我可以在定时的基础上调用以检查良好的ping并返回结果,以便我可以更新屏幕显示.我是python的新手,所以我不完全了解如何在函数中返回值或设置变量.
这是我的代码有效:
import os
hostname = "google.com"
response = os.system("ping -c 1 " + hostname)
if response == 0:
pingstatus = "Network Active"
else:
pingstatus = "Network Error"
Run Code Online (Sandbox Code Playgroud)
这是我尝试创建一个函数:
def check_ping():
hostname = "google.com"
response = os.system("ping -c 1 " + hostname)
# and then check the response...
if response == 0:
pingstatus = "Network Active"
else:
pingstatus = "Network Error"
Run Code Online (Sandbox Code Playgroud)
以下是我的展示方式pingstatus:
label = font_status.render("%s" % pingstatus, 1, (0,0,0))
Run Code Online (Sandbox Code Playgroud)
所以我要找的是如何从函数返回pingstatus.任何帮助将不胜感激.