我知道当它们作为函数参数传递(: Header
如下)或创建它们时(使用# type:
指令)可以指定变量类型。
但是是否可以在代码中间(通常在if
块内)指定变量的预期类型是什么?
例如在下面的函数中,我想指定我的变量是一个特定的子类,Header
以避免 PyCharm 警告“Unresolved attribute reference 'unit' for class 'Header'”:
def change_header(old_header: Header, new_header: Header)
if old_header.is_measure:
# I would like to specify here that both old_header and
# new_header are of the subclass MeasureHeader and therefore have
# a 'unit' property
if new_header.unit != old_header.unit:
raise Exception("flag 'all' can't change the unit"
谢谢。