1. Python Software Foundation. (2023). Built-in Types — Python 3.12.0 documentation.
Section: Text Sequence Type — str, str.split(sep=None, maxsplit=-1)
Details: The official documentation states, "Return a list of the words in the string, using sep as the delimiter string." It does not mention any automatic trimming of whitespace from the resulting elements when a separator is specified, confirming that characters like the space in " World!" are preserved.
2. Guttag, J. V. (2016). Introduction to Computation and Programming Using Python, Second Edition. MIT Press.
Chapter/Section: 4.1.1, Strings, Tuples, and Ranges (related to string methods).
Details: University textbooks used in courses like MIT's 6.0001 explain that string methods operate precisely. The split method divides a string based on the delimiter, and any characters not part of the delimiter become part of the resulting list elements. For example, 'a, b'.split(',') results in ['a', ' b'].
3. Severance, C. R. (2016). Python for Everybody: Exploring Data Using Python 3.
Chapter: 6, Strings.
Section: 6.4, String Methods.
Details: This widely used university textbook explains that the split method breaks a string into parts and produces a list of strings. The examples provided illustrate that the delimiter is consumed, but adjacent characters are not, which aligns with the behavior seen in the question.