human
I wrote the below code

    def system_version():
        '\n                                Return    host    system    version.\n                                '
        lin_ver = linux_distribution()
        mac_ver = platform.mac_ver()
        win_ver = platform.win32_ver()
        if lin_ver[0]:
            return u'    '.join(lin_ver)
        elif mac_ver[0]:
            if (isinstance(mac_ver[1], (tuple, list)) and u''.join(mac_ver[1])):
                return u'    '.join([mac_ver[0], u'.'.join(mac_ver[1]), mac_ver[2]])
            else:
                return u'    '.join([mac_ver[0], mac_ver[2]])
        elif win_ver[0]:
            return u'    '.join(win_ver)
        else:
            return u''
    version = system_version()
    release = platform.release()
    if platform.win32_ver()[0]:
        import win32api
        server = {u'Vista': u'2008Server', u'7': u'2008ServerR2', u'8': u'2012Server', u'8.1': u'2012ServerR2', u'10': u'2016Server'}
        if ((win32api.GetVersionEx(1)[8] > 1) and (release in server)):
            release = server[release]
        (_, ver, sp, extra) = platform.win32_ver()
        version = '    '.join([release, ver, sp, extra])
    system = [(u'system', platform.system()), (u'dist', u'    '.join(linux_distribution(full_distribution_name=False))), (u'release', release), (u'machine', platform.machine()), (u'version', version), (u'locale', locale.getpreferredencoding())]
    for (name, attr) in system:
        (yield (name, attr))
        continue

What's a good function header?
assistant
#Here's a good function header.

def system_information():