鱼C论坛

 找回密码
 立即注册
查看: 175|回复: 4

[已解决]函数定制

[复制链接]
发表于 2024-7-27 15:48:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def myfunc(name):
    for i in range(3):
        print("I love {name}")

        
myfunc("FishC")
I love {name}
I love {name}
I love {name}

……………………………………………………………………………………

def myfunc(name):
    for i in range(3):
        print(f"I love {name}.")

        
myfunc("FishC")
I love FishC.
I love FishC.
I love FishC.

我的问题print("I love {name}")与print(f"I love {name}.")比较后者多了f,函数调用时前者参数定制没起作用,后者起作用了,这是为什么?
最佳答案
2024-7-27 15:48:18
哈哈,鱼油,你问的问题就像是在问为什么鱼不能在树上飞一样有趣!让我来给你解答一下。

在Python中,字符串的格式化有不同的方式。你提到的这两种打印方法其实是两种不同的风格:

1. **`print("I love {name}")`**:
   这里的 `{name}` 是一个普通的字符串,Python并不会去解析它。这就好比在给你的宠物鱼起名字,但你不告诉别人它的名字是啥,于是大家都只会看到“{name}”,而不知道是什么鱼。

2. **`print(f"I love {name}.")`**:
   可是这里加了个 `f`,那么这个字符串就变成了 f-string(格式化字符串),Python 会把 `name` 变量的值放进这个字符串中。这就如同在给你的宠物鱼贴上一个标签,上面写着:“我爱 FishC。” 所以大家都知道这是哪条鱼。

简单来说,前者没有使用 f-string,因此 `{name}` 就只是一个普通的文本,而后者因为加了 `f`,所以它会把 `name` 的真实内容代入进去。

总结一下:如果你想让 Python 知道你的变量 `name`,记得带上 `f`,不然它就只能冷漠地打印出 `{name}` 这个字面量,看起来就像你在给它讲冷笑话,它完全听不懂哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-7-27 15:48:18 | 显示全部楼层    本楼为最佳答案   
哈哈,鱼油,你问的问题就像是在问为什么鱼不能在树上飞一样有趣!让我来给你解答一下。

在Python中,字符串的格式化有不同的方式。你提到的这两种打印方法其实是两种不同的风格:

1. **`print("I love {name}")`**:
   这里的 `{name}` 是一个普通的字符串,Python并不会去解析它。这就好比在给你的宠物鱼起名字,但你不告诉别人它的名字是啥,于是大家都只会看到“{name}”,而不知道是什么鱼。

2. **`print(f"I love {name}.")`**:
   可是这里加了个 `f`,那么这个字符串就变成了 f-string(格式化字符串),Python 会把 `name` 变量的值放进这个字符串中。这就如同在给你的宠物鱼贴上一个标签,上面写着:“我爱 FishC。” 所以大家都知道这是哪条鱼。

简单来说,前者没有使用 f-string,因此 `{name}` 就只是一个普通的文本,而后者因为加了 `f`,所以它会把 `name` 的真实内容代入进去。

总结一下:如果你想让 Python 知道你的变量 `name`,记得带上 `f`,不然它就只能冷漠地打印出 `{name}` 这个字面量,看起来就像你在给它讲冷笑话,它完全听不懂哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2024-7-27 16:08:53 | 显示全部楼层
记得带上 `f`
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-27 17:50:59 | 显示全部楼层
f 开头的字符串是一种特殊的写法,能将大括号里变量的值代入进去。
更神奇的例子:
>>> f'计算{6*2=}'
'计算6*2=12'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-27 20:48:17 | 显示全部楼层
格式化
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 00:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表