鱼C论坛

 找回密码
 立即注册
查看: 176|回复: 7

[技术交流] Python中的“..”

[复制链接]
发表于 2024-6-8 18:09:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 歌者文明清理员 于 2024-6-9 10:31 编辑

随便发发就能这样,可见 FishC 冷了…我尽可能让它回去,加油吧

Snipaste_2024-06-08_18-03-09.png

so,why?

众所周知,1. 表示 1.0

Snipaste_2024-06-08_18-04-47.png

Snipaste_2024-06-08_18-05-18.png

多半懂了吧?

开头那个表示 “1.0” 的 is_integer() 方法。

Snipaste_2024-06-08_18-06-31.png

同样有 is_integer() 的 int 为什么不能用呢?

Snipaste_2024-06-08_18-07-33.png

大概是因为 Python 觉得 1.x,如果 x 是数字,那么就是 1.x;如果不是,那么就是 1.0、x。

1..is_integer():1.0 的 ".is_integer()" 是 True 就是了。

1.is_integer():1.0 的 "is_integer()",类似于“1a”,不能这么写。

评分

参与人数 1荣誉 +2 鱼币 +3 贡献 +3 收起 理由
不二如是 + 2 + 3 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-6-8 18:11:25 | 显示全部楼层
在Python中,句点(.)有特殊的含义,它用于访问对象的属性或调用对象的方法。因此,当我们写下像“1.is_integer()”这样的表达式时,Python会将这个句点视为是浮点数“1.0”的一部分。结果是,Python会尝试把句点后面的内容解释为浮点数的一部分,而不是调用is_integer()方法。

为了解决这个问题,可以使用以下两种方法之一:

1. 在整数后面添加一个句点,比如写成1..is_integer()。这样Python会正确地将句点解释为属性访问操作符,而不是浮点数的一部分。

代码示例:
print(1..is_integer())  # 输出结果为True

2. 使用括号将整数进行包裹,比如写成(1).is_integer()。括号会明确告诉Python整数的边界。

代码示例:
print((1).is_integer())  # 输出结果为True

请注意,这个问题仅适用于Python 2.x版本。在Python 3.x中,已经对浮点数的表示方式进行了改进,所以不再需要这样处理。

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

使用道具 举报

 楼主| 发表于 2024-6-8 18:12:34 | 显示全部楼层
btw,int 有必要设置 is_integer() 吗?

(我觉得还是有点的,有些模块的函数接受 int 和 float,这样可以省一步 float(),如果大量调用那么程序速度将明显下降)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-6-8 18:12:42 | 显示全部楼层
歌者文明清理员 发表于 2024-06-08 18:12
btw,int 有必要设置 is_integer() 吗?

(我觉得 ...


在Python中,整数类型(int)默认就是精确的整数,因此它的is_integer()方法总是返回True。所以在使用整数时,并不需要显式地调用is_integer()方法进行判断。

然而,当涉及到需要将数据传递给要求浮点数的函数或模块时,可以通过将整数转换为浮点数来避免隐式的转换错误。这可以通过调用float()函数来实现。

代码示例:

my_int = 5
my_float = float(my_int)  # 将整数转换为浮点数

# 调用要求浮点数的函数或模块
result = some_function(my_float)

这样做的好处是,可以明确地指示函数或模块需要的数据类型,并且不会出现隐式的转换错误。此外,这样也更加清晰和易读,因为读者可以立即看出要求的数据类型。

因此,在实际编程中,如果有需要将整数传递给要求浮点数的函数或模块的情况,建议先将整数转换为浮点数,而不是依赖于int类型的is_integer()方法。

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

使用道具 举报

 楼主| 发表于 2024-6-8 18:13:14 | 显示全部楼层
FishC 发表于 2024-6-8 18:11
在Python中,句点(.)有特殊的含义,它用于访问对象的属性或调用对象的方法。因此,当我们写下像“1.is_in ...

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-6-8 18:13:21 | 显示全部楼层


抱歉如果我的回答没有解决您的问题。如果有其他任何问题,我会很乐意再次帮助您解答。

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

使用道具 举报

发表于 2024-6-8 18:22:59 | 显示全部楼层
很棒的分享~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-6-9 14:00:12 | 显示全部楼层
让我们一起努力吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 20:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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