中级Python开发者求教:如何在input提示语中引用已定义变量?
解决Python input提示语中引用变量的问题
嘿,这个问题我之前做小项目时也碰到过!Python确实不允许直接在input的字符串里裸写变量,但有几种超便捷的方式能实现你想要的效果,这里给你分享几个常用方案:
f-string格式化(Python 3.6+ 首推)
这是目前最简洁直观的写法,只需要在字符串前加个f,然后把变量用{}包裹起来就行:name = str(input("Enter name: ")) books_read = int(input(f"Number of books {name} read: "))这种写法可读性拉满,也是Python官方推荐的现代字符串格式化方式。
str.format()方法(兼容旧版本Python)
如果你的代码需要兼容Python 3.6之前的版本,用format()方法就很合适,通过占位符{}来替换变量:name = str(input("Enter name: ")) books_read = int(input("Number of books {} read: ".format(name)))要是有多个变量,还可以给占位符加索引或名字,比如
"{0} read {1} books",灵活性很高。旧式%格式化(不推荐但仍可用)
这是Python早期的格式化方式,现在已经逐渐被前两种替代,但偶尔还是能在老代码里看到:name = str(input("Enter name: ")) books_read = int(input("Number of books %s read: " % name))这里
%s是字符串占位符,对应后面的name变量,如果是数字类型可以用%d之类的占位符。
另外提个小建议:Python里推荐用蛇形命名法(比如books_read而不是booksRead),符合PEP8编码规范,不管是自己维护还是团队协作,代码都会更易读哦~
内容的提问来源于stack exchange,提问作者Youraverageprogrammer
相关产品推荐
相关产品推荐

