它是一个字符串,但在 Python 中,字符串是可迭代的,就像列表一样
这是字符串的一个方法,它的作用是把字符转换成大写:
"a".upper() # → 'A'
str
是一个类(builtins.str
)
在类体里定义了:
def upper(self):
...
upper
本来是一个实例方法,需要某个.字符串实例作为第一个参数 self
才能调用
当你写 str.upper
时,拿到的并不是类方法,也不是实例方法,而是**“还没绑定 self 的那个函数对象”**;把它传给 map
,map
会逐个把字符当作 self
传进去,相当于:
str.upper('a') # 'A'
str.upper('b') # 'B'
...
等价于"A".upper()