为什么 Python 里没有 printf ?

2018-12-04 17:53:33 +08:00
 autumn2018
记得刚开始学编程的时候,挺憎恨 printf 的,但用久了才发现好用.
perl 和 ruby 里都有 printf,  lua 里面没有可以理解,但为什么 python 里也没有呢?
python 里好像有 s=%d %x 风格的字符串写法,然后 print 出来...

另外一个问题,有知道的朋友还请告知一下:
刚才我 google 的时候,看到说不建议在 C++里用 printf,要用 cout,我想起来我学 c++也是很久之前的事情了,后来这些年都用 C 语言,靠近 os 底层工作,C++的许多东西都是触类旁通"顿悟"的,唯独这个 cout 的好处没看到,比 printf 好在哪里呢?是不是跟 C++的哲学有关?
6613 次点击
所在节点    程序员
25 条回复
wwqgtxx
2018-12-04 19:17:07 +08:00
print("%d"%5)这样就行了
ysc3839
2018-12-04 19:24:40 +08:00
这个问题属于开发者个人选择的问题了,开发者不加入所以没有。
Monad
2018-12-04 19:47:33 +08:00
关于 std::cout 的好处 你想一下 ssize_t 应该用%???来 printf 输出
misaka19000
2018-12-04 19:58:12 +08:00
Python 用 format 挺好的
codechaser
2018-12-04 19:59:44 +08:00
[C++ std::cout vs printf]( https://stackoverflow.com/questions/4781819/printf-vs-stdcout)
python 里也有字符串格式化`str.format()`吧,这个跟`printf`用法不是差不多吗
balamiao
2018-12-04 20:00:06 +08:00
为什么 python 里没有 echo,没有 var_dump,没有 snprintf~
autumn2018
2018-12-04 20:04:36 +08:00
@Monad 感谢提醒.我查了一下,c99 里可以用%zd,z 是新引入的 modifier,C++标准里没.
Monad
2018-12-04 20:09:50 +08:00
@autumn2018 #7 嗯 那么 pid_t 呢 然后 off_t 呢 就是为了解决这些麻烦的地方哈=.=
zjdznl
2018-12-04 20:15:48 +08:00
format 函数
anonymous256
2018-12-04 20:53:49 +08:00
python 用过 format 以后,就再也不会想用%s 这种奇怪的东西了。
crab
2018-12-04 20:57:56 +08:00
print(f"{}")
guog
2018-12-04 20:58:23 +08:00
Python3 用 f-string 挺好的
smdbh
2018-12-04 22:24:21 +08:00
python 里有 print,python 里有比没有 printf 更痛苦的事情
bill361410
2018-12-04 22:51:07 +08:00
其实可以自己写一个 printf,按照自己的要求写一个就好了
hand515
2018-12-04 22:54:22 +08:00
更细化用 string.Template 来做模版处理
pere
2018-12-05 00:51:21 +08:00
我看 google 的代码规范,printf 比流更推荐使用啊
tinkerer
2018-12-05 01:05:24 +08:00
@guog 是的,这才是解决方案
Kirscheis
2018-12-05 01:13:58 +08:00
printf 到底哪里好用。。感觉用起来浑身难受啊

以及 printf 显然比 cout 舒服,所以有人能说说为什么推荐 cout 吗
cufezhusy
2018-12-05 03:49:09 +08:00
看了这么多,只有 @guog 说的靠谱。
deepreader
2018-12-05 04:45:28 +08:00
f-string 了解一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/514279

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX