簡體   English   中英

理解Pycharm推斷類型提示

[英]Understanding Pycharm inferred type hinting

我想在“快速文檔”窗口中了解PyCharm中帶有推斷類型的內容。

使用下面的功能,我在快速文檔中看到以下內容: 快速編輯窗口

參數host顯示為我期望的Optional[str] ,但authversion僅顯示str | None str | None 技術上(我相信)兩者都是正確的,但為什么這些類似論點之間存在差異?

你會注意到我試圖改變版本的類型提示只是為了看看是否有任何區別。

我錯過了類型提示的工作原理嗎?
有什么方法我可以獲得Optional[str]顯示authversion

def getBaseUrl(service, host=None, auth=None, version=None):
    """
    Defaulted arguments will automatically fetch the values from config 

    :param str service: wms, wfs
    :param str or None host:    [internal | external | {user submitted host}] -
                                internal and external will use the config file to automatically determine
                                anything else will be assumed as a server address including possible port.
    :param str or None auth:    basic, digest, oauth 
                                anything else will raise exception
    :param version: eg wms_v1, wfs_v1
    :type version:  str or None
    :return: base url for use in the gis Webservice
    """
    assert service.lower() == 'wms' or service.lower() == 'wfs', "Unsupported service: %s" % service

    internalhost = cfg.get('GIS', 'internalhost')
    externalhost = cfg.get('GIS', 'externalhost')

    if host is None:
        host = cfg.get('GIS', 'host')
    if version is None:
        version = cfg.get(service, 'version')

    if host == "internal":
        host = "{host}".format(host=internalhost)

    elif host == 'external':
        host = "{host}".format(host=externalhost)

    else:
        host = "{host}".format(host=host)

    return buildBaseUrl(host=host, version=version, auth=auth, service=service)

看起來這確實是Pycharm的一個錯誤。 待修訂於2016.2發布。

https://youtrack.jetbrains.com/issue/PY-17705

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM