长类型的较短类型提示
Shorter type hints for long types
(请原谅这个不好的标题,也许有人可以推荐一个更好的)
刚进入 typehinting/typechecking 并想添加一个函数,我正在向其传递一个 selenium webdriver object,它显示:
In: type(driver)
Out: selenium.webdriver.chrome.webdriver.WebDriver
有没有一种方法可以缩短它而无需输入整个内容? (没有双关语意)
我发现了有关别名的信息,想知道使用类似以下内容是否安全:
WebDriver = selenium.webdriver.chrome.webdriver.WebDriver
WebElement = selenium.webdriver.remote.webelement.WebElement
# Function definition follows:
def get_object(driver: WebDriver, ....) -> WebElement:
...
还有两个问题:
- 我需要手动创建别名还是有更简单的方法?
- 注意别名和类型的最后部分保持相同以便于识别。安全与否?
执行此操作的 pythononic 方式是更改导入行:
from selenium.webdriver.chrome.webdriver import WebDriver
from selenium.webdriver.remote.webelement import WebElement
# Function definition follows:
def get_object(driver: WebDriver, ....) -> WebElement:
(请原谅这个不好的标题,也许有人可以推荐一个更好的)
刚进入 typehinting/typechecking 并想添加一个函数,我正在向其传递一个 selenium webdriver object,它显示:
In: type(driver)
Out: selenium.webdriver.chrome.webdriver.WebDriver
有没有一种方法可以缩短它而无需输入整个内容? (没有双关语意)
我发现了有关别名的信息,想知道使用类似以下内容是否安全:
WebDriver = selenium.webdriver.chrome.webdriver.WebDriver
WebElement = selenium.webdriver.remote.webelement.WebElement
# Function definition follows:
def get_object(driver: WebDriver, ....) -> WebElement:
...
还有两个问题:
- 我需要手动创建别名还是有更简单的方法?
- 注意别名和类型的最后部分保持相同以便于识别。安全与否?
执行此操作的 pythononic 方式是更改导入行:
from selenium.webdriver.chrome.webdriver import WebDriver
from selenium.webdriver.remote.webelement import WebElement
# Function definition follows:
def get_object(driver: WebDriver, ....) -> WebElement: