Ich möchte verstehen, was in PyCharm mit abgeleiteten Typ im Fenster Quick Documentation vorgeht.Verständnis von Pycharm abgeleitete Typhinweis
die Funktion unter Verwendung, sehe ich folgende in Schnell Dokumentation:
Argument host
als Optional[str]
erscheint, wie ich es zu erwarten, aber auth
und version
zeigen nur str | None
. Technisch (glaube ich) sind beide richtig, aber warum die Diskrepanz zwischen diesen ähnlichen Argumenten?
Sie werden feststellen, dass ich versucht habe, den Typhinweis für die Version zu ändern, nur um zu sehen, ob das einen Unterschied macht.
Fehle ich etwas darüber, wie Typ Hinting funktioniert?
Gibt es eine Möglichkeit, Optional[str]
für auth
und version
anzuzeigen?
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)
ich das Thema gefüllt https://youtrack.jetbrains.com/issue/PY-19859 – user2235698