Beside Gribouillis' explanation.
Although, sounds simple but still not able to understand the concept behind.
Core concepts are the most hard things.
I would like to know how they picked up the module sys or how we gonna decide from where we need to import.
The author picked it, because the desired object - the argv variable - is in this module. Period, end of discussion.
Why this functionality is in this module is because the author of python interpreter - beeing a built in module - decided to put it into this module.
How an author of a module decides about a module name, and the functionality of the module is up to his judgement.
However, module names are considered good, if a user (a programmer) can safely guess the functionality of a module by its name, and can find a module name by knowing the functionality he expects.
Based on my exprience on programming I would look for "command line argument", if I did not know python:
- In builtins or globals, as in C or perl
- in some operationg system specific module, because its os specific
- in some system specific module, because it is global to a program
- in something called shell, because shell is the first to process it
Anyway a lasy programmer usually types into the google: Command line arguments python
And gets the answer...