python 带“:”的变量赋值

python variable assignment with ":"

def unexpected_exceptions(exctype, value, tb):
    exception = ''.join(traceback.format_exception(exctype, value, tb))
    _logger = logging.getLogger('unexpected_exceptions')
    _logger.setLevel(logging.DEBUG)

    f_handler: FileHandler = logging.FileHandler(os.path.join(BASE_PATH, 'log ' + CURRENT_VERSION + '.log'))

    f_handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s:%(message)s'))
    _logger.addHandler(f_handler)
    _logger.exception(exception, exc_info=True)
    f_handler.close()
    _logger.removeHandler(f_handler)
    print(value)

对不起,我找不到任何关于此的文章

这个变量赋值是什么?

f_handler: FileHandler = logging.FileHandler(os.path.join(BASE_PATH, 'log ' + CURRENT_VERSION + '.log'))

语法适用于 python 3.5

中引入的 hint/annotation 类型

工具使用它来提供更好的提示、静态检查等。请注意,这根本不会改变 python 的行为,只是帮助工具提供额外支持的功能。

在您提供的情况下:

t:str=1

t 被暗示为 str 类型的变量。这将允许您的 IDE 在您按下 . !

时在 t 上提供 str 方法

这是 pydocs 中类型提示的标准示例 -

下面的函数接受和 returns 一个字符串并注释如下:

def greeting(name: str) -> str:
    return 'Hello ' + name

在函数 greeting 中,参数名称应为 str 类型,return 类型为 str。接受子类型作为参数。