python - 为什么请求返回 "None"?

标签 python return python-requests

import requests

def get(url):
    if url[:7] == 'http://':
        if url[7:11] == 'www.':
            print url
            response = requests.get(url)
            if response.status_code == 200:
                return 'ok'

            else:
                return 'error'
        else:
            print(url)
            url = 'http://www.' + url[7:]
            get(url)
    else:
        print(url)
        url = 'http://' + url
        get(url)

print get('example.com')

谁能告诉我为什么这段代码返回“无”

最佳答案

您不会从对 get() 函数的递归调用中返回结果。

您需要返回递归调用 get() 函数的结果,示例 -

import requests

def get(url):
    if url[:7] == 'http://':
        if url[7:11] == 'www.':
            print url
            response = requests.get(url)
            if response.status_code == 200:
                return 'ok'

            else:
                return 'error'
        else:
            print(url)
            url = 'http://www.' + url[7:]
            return get(url)
    else:
        print(url)
        url = 'http://' + url
        return get(url)

print get('example.com')

关于python - 为什么请求返回 "None"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31628130/

相关文章:

python - 运行 *requests* 时出错

python - 计算器代码问题: 10 + 5 results in 105

python - 我如何在 python 中搜索特定的单词?

c++ - 类似于 boost::multi_index for Python

C++:我正在解决一个问题,突然我注意到编译的代码没有返回语句

尽管升级到 Python 2.7,Python 仍使用 TLSv1 或 TLSv1.1 请求库

python - 一种优化每天更新一次的数据存储读取的方法

c++ - 调试 C++ 代码

java - Java 中的返回字符串在编译器中不执行任何操作

python - Python请求库遇到重试限制时如何访问服务器响应