Congratulate 发表于 2020-7-22 09:26:19

解释一下这个意思

result="result is %s:%d"%(name,score)
在书上看到这么个东西。没明白,有懂得能详细解释下么,最好通俗易懂一点哈

sunrise085 发表于 2020-7-22 09:28:36

本帖最后由 sunrise085 于 2020-7-22 09:38 编辑

这是格式化字符串赋值
"result is %s:%d"%(name,score)
这是一个格式化字符串,"result is %s:%d" 这是字符串主体部分,其中%s和%d是两个格式化标记,用后面的参数列表代替,%(name,score)是格式化列表,两个参数分别替换字符串中的格式化标记,按顺序替换。
name是程序之前赋值过的一个字符串变量,score是之前赋值过的一个int类型变量。
字符串格式化完成之后赋值给result

举个例子:
name="Sam"
score=99
那么"result is %s:%d"%(name,score)   格式化完成后是:"result is Sam:99"
执行完这一句代码后result变量为"result is Sam:99"

看看我的这个帖子Python细节之5、print输出函数的一些方法总结
还有小甲鱼的总结:字符串格式化符号含义及转义字符含义

Congratulate 发表于 2020-7-22 09:29:55

sunrise085 发表于 2020-7-22 09:28
这是格式化字符串赋值
"result is %s:%d"%(name,score)
这是一个格式化字符串

能详细解释下各个符号和字母的意思么,尤其是这个括号和括号里的东西

Twilight6 发表于 2020-7-22 09:32:08


% 格式化,字符串中的%s 和 %d 就是两个格式化占位符,分别按顺序对应替换字符串外括号里的对应参数

将参数对应的数值替换掉 %s 和 %d 占位符,而 %s 是 格式化字符串,%d 是格式化整型,详见下表:

https://xxx.ilovefishc.com/forum/202005/24/230813o357gg5atetggcm5.png

你也可以看看这里的笔记,Python 的几种格式化整理的很好:实用干货:字符串格式化 :https://fishc.com.cn/thread-145610-1-1.html


sunrise085 发表于 2020-7-22 09:32:20

Congratulate 发表于 2020-7-22 09:29
能详细解释下各个符号和字母的意思么,尤其是这个括号和括号里的东西

刚刚正在编辑,一不小心发出去了。。。你看的还挺快。我再编辑一下

老八秘制 发表于 2020-7-22 09:33:17

Congratulate 发表于 2020-7-22 09:29
能详细解释下各个符号和字母的意思么,尤其是这个括号和括号里的东西

%s和%d对应后面的name和score变量,相当于输出效果是result is <name>:<score>,然后把这个字符串赋值给result

老八秘制 发表于 2020-7-22 09:34:07

Twilight6 发表于 2020-7-22 09:32
% 格式化,字符串中的%s 和 %d 就是两个格式化占位符,分别按顺序对应替换字符串外括号里的对应参数

...

你是全天住在论坛吗

老八秘制 发表于 2020-7-22 09:41:40

Congratulate 发表于 2020-7-22 09:40
没有,就是看看视频看看书,不懂就来问

没说你啊……

Twilight6 发表于 2020-7-22 09:43:09

老八秘制 发表于 2020-7-22 09:34
你是全天住在论坛吗


{:7_139:}

Congratulate 发表于 2020-7-22 09:55:36

其实就是对指定的字符或者数据类型进行占位,简称占位符对吧{:10_298:}

ThreeCat 发表于 2020-7-22 10:33:16

你还可以看看小甲鱼的这个视频,https://www.bilibili.com/video/BV1Fs411A7HZ?p=16
比较通俗易懂
页: [1]
查看完整版本: 解释一下这个意思