Lijingyang 发表于 2022-2-9 08:27:33

形参和位参

def sayHi(name):
      print("嗨,%s"%name)
print后面括号里为什么要写成这种形式,希望大佬讲解一下

Twilight6 发表于 2022-2-9 08:36:38


print后面括号里为什么要写成这种形式?

print 内的 语句是 % 字符串格式化,在字符串中用 % 占位符,依次将字符串外的参数格式化到字符串中

例如你这里字符串的,假设 name = "FishC" : "嗨,%s" % name

就相当于将 变量 name 格式化到 字符串的 %s 占位符 处,结果字符串为 "嗨,FishC" 字符串,再通过 print 函数打印到屏幕上

可以来看下这篇文档,有助于你的理解 Python 的三种格式化用法:

实用干货:字符串格式化
https://fishc.com.cn/thread-145610-1-1.html
(出处: 鱼C论坛)

tomok 发表于 2022-2-9 08:49:08

{:5_108:}

比利王 发表于 2022-2-9 14:03:55

本帖最后由 比利王 于 2022-2-9 14:27 编辑

%s 或者 %f 之类的就像是一个暂时占位置的符号,然后再从引号""的后面,把值赋给这个符号,最后print出来的就是这个值
不过%s只能被字符串赋值,%f只能被浮点数赋值等等,他就是这么个语法,习惯就好了。。
btw,我是个菜鸟{:10_256:}

白two 发表于 2022-2-9 16:27:16

只是占位符而已, 相当于告诉 python 这里有一个人, 留个位置, 在后面再将值传进去
建议使用新版的 f' '
例如:
>>> name = '小甲鱼'
>>> print(f'hi {name}')
hi 小甲鱼

cflying 发表于 2022-2-9 20:38:01

%是python早期的方式了,现在python3提供了更好的format,当然,f也行。

正在写bug 发表于 2022-2-10 08:55:58

其实这个解释起来只能说是规定,就是python的语法是这样规定的,他的含义楼上已经都说明很清楚的,理解的话,你就当作数学公式来理解就行 定义好了 这样用就行

Lijingyang 发表于 2022-2-10 10:01:44

比利王 发表于 2022-2-9 14:03
%s 或者 %f 之类的就像是一个暂时占位置的符号,然后再从引号""的后面,把值赋给这个符号,最后print出来的 ...

好的,谢谢
页: [1]
查看完整版本: 形参和位参