1370607278 发表于 2022-3-16 13:34:29

python里百分号

def file_write(file_name):
    f = open(file_name, 'w')
    print('请输入内容【单独输入\':w\'保存退出】:')

    while True:
      write_some = input()
      if write_some != ':w':
            f.write('%s\n' % write_some)
      else:
            break

    f.close()

file_name = input('请输入文件名:')
file_write(file_name)



问题:
1.各位大佬们,请问这个里面的百分号是干嘛的 为啥要加    f.write('%s\n' % write_some)

isdkz 发表于 2022-3-16 13:51:51

这是用来做字符串格式化的,就是把对象以什么格式填充到字符串里面,

关于python 字符串格式化 的姿势,你可以看一下这个:
https://mp.weixin.qq.com/s/mpjDJ50T5ZjskKIIZO6_vQ

1370607278 发表于 2022-3-16 13:56:20

isdkz 发表于 2022-3-16 13:51
这是用来做字符串格式化的,就是把对象以什么格式填充到字符串里面,

关于python 字符串格式化 的姿势, ...

我看到还有用%d的 后面那个字母其实没关系吧 啥都可以吗

python爱好者. 发表于 2022-3-16 13:57:24

1370607278 发表于 2022-3-16 13:56
我看到还有用%d的 后面那个字母其实没关系吧 啥都可以吗

不是,前面大佬答了

isdkz 发表于 2022-3-16 14:02:11

1370607278 发表于 2022-3-16 13:56
我看到还有用%d的 后面那个字母其实没关系吧 啥都可以吗

不是什么都没关系,有固定的模板的,用 % 的是沿用了 C 语言的字符串格式化方式,

你可以百度搜一下 C语言字符串格式化。

1370607278 发表于 2022-3-17 11:26:16

isdkz 发表于 2022-3-16 14:02
不是什么都没关系,有固定的模板的,用 % 的是沿用了 C 语言的字符串格式化方式,

你可以百度搜一下 ...

我看还有的代码用的是 %d 有的用%s 这两个怎么区分呢

isdkz 发表于 2022-3-17 11:31:44

1370607278 发表于 2022-3-17 11:26
我看还有的代码用的是 %d 有的用%s 这两个怎么区分呢

%d中的 d 是 decimal interger十进制整数,%s 中的 s 是 string字符串,

所以 %d 是用来填充十进制整数对象的,%s 使用来填充字符串对象的,

你可以看一下这个:
http://www.cplusplus.com/reference/cstdio/scanf/
页: [1]
查看完整版本: python里百分号