Python 如何将if-else从一个函数转换为另一个函数

Python 如何将if-else从一个函数转换为另一个函数,python,if-statement,Python,If Statement,我有一个函数“get_number(code,attribute)”,它输出与特定信息相关联的特定代码部分。但我不确定如何在“print_description(code)”中使用此函数,以便在函数只有一个返回时可以获得代码的特定部分 在“print_description(code)”文档字符串下,我想替换那些等式“get_number(code,attribute)” 每个类型只需调用一次函数,如下所示: country\u code=get\u code(序列号,'country') 颜色

我有一个函数“get_number(code,attribute)”,它输出与特定信息相关联的特定代码部分。但我不确定如何在“print_description(code)”中使用此函数,以便在函数只有一个返回时可以获得代码的特定部分

在“print_description(code)”文档字符串下,我想替换那些等式“get_number(code,attribute)”


每个类型只需调用一次函数,如下所示:

country\u code=get\u code(序列号,'country')
颜色代码=获取代码(序列号“颜色”)
大小\代码=获取\代码(序列号,'大小')
item_num=获取代码(序列号,'item')

我完成了您的代码,并附上了一些备注

def get_code(serial_number, type):
    """
    -------------------------------------------------------
    Returns code from serial number and type.
    Use: code = get_code(serial_number, type)
    -------------------------------------------------------
    Parameters:
        serial_number - an arbitrary serial number (str)
        type - some string representing a serial number attribute (str)
    Returns:
        code - value derived from type and serial number (int)
    -------------------------------------------------------
    """
    ....

def print_description(serial_number):
    """
    -------------------------------------------------------
    Print detailed description based on the serial number.
    Use: description = print_description(serial_number)
    -------------------------------------------------------
    Parameters:
        serial_number - an arbitrary serial number (str)
    Returns:
        country - country code (int)
        color - color code (int)
        size - size code (int)
        item - item code (int)
    -------------------------------------------------------
    """
    if not isinstance(serial_number, str):
        print('Invalid Serial Number')
    else:
        country_code = get_code(serial_number, 'country')
        color_code = get_code(serial_number, 'color')
        size_code = get_code(serial_number, 'size')
        item_num = get_code(serial_number, 'item')

        # where is get_country, get_color, etc., defined?
        # country1 = get_country(country_code)
        # color1 = get_color(color_code)
        # size1 = get_size(size_code)

        # There is not 'Undefined' in Python! Is this code a port from JS?
        # if country1 == 'Undefined' or color1 == 'Undefined' or size1 == 'Undefined':
        #    print('Description not found')
        #else:
        #
        print('{} {} Ball, item#: {} made in {}'.format(size_code, color_code, item_num, country_code))

    return # where are the return values?

def get_number(code,type):
不应该是
def get_number(code,attribute):
?另外,可能返回字典中的所有代码:
return{“x_code”:int(code)//100000,“y_code”:……
def get_code(serial_number, type):
    """
    -------------------------------------------------------
    Returns code from serial number and type.
    Use: code = get_code(serial_number, type)
    -------------------------------------------------------
    Parameters:
        serial_number - an arbitrary serial number (str)
        type - some string representing a serial number attribute (str)
    Returns:
        code - value derived from type and serial number (int)
    -------------------------------------------------------
    """
    ....

def print_description(serial_number):
    """
    -------------------------------------------------------
    Print detailed description based on the serial number.
    Use: description = print_description(serial_number)
    -------------------------------------------------------
    Parameters:
        serial_number - an arbitrary serial number (str)
    Returns:
        country - country code (int)
        color - color code (int)
        size - size code (int)
        item - item code (int)
    -------------------------------------------------------
    """
    if not isinstance(serial_number, str):
        print('Invalid Serial Number')
    else:
        country_code = get_code(serial_number, 'country')
        color_code = get_code(serial_number, 'color')
        size_code = get_code(serial_number, 'size')
        item_num = get_code(serial_number, 'item')

        # where is get_country, get_color, etc., defined?
        # country1 = get_country(country_code)
        # color1 = get_color(color_code)
        # size1 = get_size(size_code)

        # There is not 'Undefined' in Python! Is this code a port from JS?
        # if country1 == 'Undefined' or color1 == 'Undefined' or size1 == 'Undefined':
        #    print('Description not found')
        #else:
        #
        print('{} {} Ball, item#: {} made in {}'.format(size_code, color_code, item_num, country_code))

    return # where are the return values?