Python中姓名自动大写的原因?函数参数传递逻辑疑问
针对《Python Crash Course 2nd Edition》第141页代码的疑问解答
先把原书对应核心代码贴出来,方便对照:
def get_formatted_name(first_name, last_name): full_name = f"{first_name} {last_name}" return full_name.title() f_name = input("Enter your first name: ") l_name = input("Enter your last name: ") formatted_name = get_formatted_name(f_name, l_name) print(f"Hello, {formatted_name}!")
疑问解答
输入姓名自动大写的原因:
完全是full_name.title()这行代码的作用。Python的字符串title()方法会自动把每个单词的首字母转为大写,其余字母转为小写——不管你输入的是全小写、全大写还是混合大小写,都会被统一成「首字母大写」的标准格式。参数传递的逻辑:
你输入的f_name和l_name是实际参数(实参),调用get_formatted_name(f_name, l_name)时,Python会按照「位置对应」的规则传递参数:把f_name的值传给函数定义里的第一个形参first_name,l_name的值传给第二个形参last_name,也就是按顺序一一对应赋值。关于格式化和输出的逻辑:
你的理解完全正确。函数内部先把first_name和last_name拼接成完整姓名字符串full_name,再用title()处理成首字母大写的格式后返回;调用函数时,这个返回的格式化字符串会被赋值给formatted_name,最后通过print语句输出。
内容的提问来源于stack exchange,提问作者KiddoPL
相关产品推荐
相关产品推荐

