In Python, strings are objects of type str, and the language provides many built-in string methods for common transformations. The standard method used to convert all alphabetic characters in a string to uppercase is upper(). For example, "Hello, World".upper() produces "HELLO, WORLD". This method is part of Python’s core string API and is documented as returning anewstring because strings are immutable in Python; the original string is not modified.
Options A and D resemble methods from other programming languages. For instance, toUpperCase() is commonly seen in Java and JavaScript, not Python. Option B, makeUpper(), is not a standard method in Python’s str type. Python’s naming conventions for built-in methods are typically short and lowercase, which is consistent with upper(), lower(), strip(), and replace().
It is also important to note what upper() does and does not do. It affects letters according to Unicode case-mapping rules, so it works beyond ASCII and supports many languages. Non-alphabetic characters such as digits, punctuation, and whitespace remain unchanged. Because the method returns a new string, it supports functional-style programming and safe reuse of the original data. In many textbook examples, upper() is paired with input normalization tasks, such as case-insensitive comparisons and cleaning user-entered text.