The answer is that that it depends on the filesystem and (exact) OS you are using. For example, if you are using NTFS (although unlikely in a native Linux context) it allows for a wide range of NTFS specific features including hardlinks and junctions. So while in Windows they use link numbers for hardlinks, Linux OS use inodes.
You would need specific kernel drivers or a forensic OS to be able to read all those, as normal Linux are using only inodes, and would need to be counted and time-stamp analyzed to decide what is the original file vs. a later created hardlink(s).
As python can create both hardlinks and softlinks via:
os.link() # Create a hard link
os.symlink() # Create a symbolic link
(TL;DR the long docs above) there should be a way for you to check the link type, although it may require quite a bit of disc processing (searching and comparing).
For the exact detection check the built-in os functions, explained in this answer.
[islink(), parse_reparse_buffer(), readlink()]
For all other details on how Windows are making links, please see the excellent web page about the Link Shell Extensions
tool.
Either way, you could also use the ctypes python libraries for accessing the Windows API, but would require substantial coding. You may learn a lot more about this here.