如果变量不为空,则将参数解包到函数
unpacking arguments to a function if variable not empty
如果变量不为空,我正在尝试将参数列表传递给函数。
这是变量:
shape_properties: {
'header_shape': {
'width': 8582400,
'height': 468000
},
'chart_shape': {
'width': 8582400,
'height': 3585600
}}
但这个变量有时可能是 None:
shape_properties=None
我想引用 shape_properties 的论点,如果它不是空的。这是我尝试过的:
sub_title_shp = add_textbox(slide,
text=question_label,
**shape_properties['header_shape'] if shape_properties else '')
我收到这个错误:
TypeError: add_textbox() argument after ** must be a mapping, not unicode
错误代码提示我不能在这种情况下使用 **args?
这是 add_textbox() 的样子:
def add_textbox(
sld, text,
left=Emu(0), top=Emu(0), width=Emu(300), height=Emu(100),
font_name="Calibri",
font_size=12,
font_bold=True,
font_italic=False,
font_color=(89,89,89),
font_color_brightness=0,
font_color_theme=None,
word_wrap=True,
auto_size=None,
fit_text=True,
font_file=None,
margin_left=0.25,
margin_right=0.25,
margin_top=0.13,
margin_bottom=0.13,
vertical_alignment='top',
horizontal_alignment='left',
textbox_fill_solid=False,
textbox_color=(100,0,0),
textbox_color_brightness=0,
):
试试这个 ;)
sub_title_shp = add_textbox(slide,
text=question_label,
**(shape_properties['header_shape'] if shape_properties else {}))
如果变量不为空,我正在尝试将参数列表传递给函数。
这是变量:
shape_properties: {
'header_shape': {
'width': 8582400,
'height': 468000
},
'chart_shape': {
'width': 8582400,
'height': 3585600
}}
但这个变量有时可能是 None:
shape_properties=None
我想引用 shape_properties 的论点,如果它不是空的。这是我尝试过的:
sub_title_shp = add_textbox(slide,
text=question_label,
**shape_properties['header_shape'] if shape_properties else '')
我收到这个错误:
TypeError: add_textbox() argument after ** must be a mapping, not unicode
错误代码提示我不能在这种情况下使用 **args?
这是 add_textbox() 的样子:
def add_textbox(
sld, text,
left=Emu(0), top=Emu(0), width=Emu(300), height=Emu(100),
font_name="Calibri",
font_size=12,
font_bold=True,
font_italic=False,
font_color=(89,89,89),
font_color_brightness=0,
font_color_theme=None,
word_wrap=True,
auto_size=None,
fit_text=True,
font_file=None,
margin_left=0.25,
margin_right=0.25,
margin_top=0.13,
margin_bottom=0.13,
vertical_alignment='top',
horizontal_alignment='left',
textbox_fill_solid=False,
textbox_color=(100,0,0),
textbox_color_brightness=0,
):
试试这个 ;)
sub_title_shp = add_textbox(slide,
text=question_label,
**(shape_properties['header_shape'] if shape_properties else {}))