相关疑难解决方法(0)

在if语句中初始化变量的范围是什么?

我是Python的新手,所以这可能是一个简单的范围问题.Python文件(模块)中的以下代码让我感到困惑:

if __name__ == '__main__':
    x = 1

print x
Run Code Online (Sandbox Code Playgroud)

在我工作过的其他语言中,这段代码会引发异常,因为x变量是if语句的本地变量,不应该存在于它之外.但是这段代码执行并打印1.任何人都可以解释这种行为吗?模块中创建的所有变量是全局/可用于整个模块吗?

python variables scope if-statement local-variables

247
推荐指数
6
解决办法
10万
查看次数

Python函数来测试ping

我正在尝试创建一个函数,我可以在定时的基础上调用以检查良好的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.任何帮助将不胜感激.

python variables return function

18
推荐指数
4
解决办法
9万
查看次数