作为 添加对 py 3.8 的支持 的后续任务:
这里 想到发布版需进行基本可用性测试,步骤如下:
请告知 test.pypi 和 pypi 的用户号,以便添加为ulang包的维护员。
发布后,在 版本说明 中添加变动。
完成以上。
python3.8 -m pip install ulang --index-url https://test.pypi.org/simple/ --ignore-installed --extra-index-url https://pypi.org/simple
已在 Linux 下测试可用,您那边能否测试是否有问题?
版本号更改、文档补全稍后编写
pypi 账号:本人几乎没有时间参与贡献,增加为成员只是给项目增加风险,还是算了吧。
感谢!
刚安装后,运行了首页应用正常。运行了 $ python 测试/运行所有.py
也全部通过,下面的警告是预期之中:
测试/运算/比较.ul:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
if 2===2 {
测试/运算/比较.ul:4: SyntaxWarning: "is" with a literal. Did you mean "=="?
if 2===3 {
测试/运算/比较.ul:7: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if 2!==1 {
测试/运算/比较.ul:10: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if 2!==2 {
这个警告的地方其实是不应该写 === 和 !== 的,他们只应当被用对象比较。
有道理。不过不影响发布新版本吧?
CPython 里目前的内部实现会把 [-5, 256] 这些整数作为单个对象保存,但此范围外的则会出现异常。
python 3.7 好像修正了:
>>> -10 is -10
True
>>> 4.0 is 4.0
True
>>> a = 5.0; b = 5.0; print (a is b)
True
这个警告的地方其实是不应该写 ===
和 !==
的,他们只应当被用对象比较。
CPython 里目前的内部实现会把 [-5, 256]
这些整数作为单个对象保存,但此范围外的则会发生x == 1000
为True
,而x is 1000
为False
这种令人困惑的行为发生。
示例:
>>> a=12812813
>>> a is 12812813
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
False
>>> b=1
>>> b is 1
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
True
参考:
有道理。不过不影响发布新版本吧?
不影响,不过我觉得最好之后改掉。
毕竟这个“严格等于”很具误导性,而且 Python 本身的 ==
大部分情况下已经足够了,所以将这个运算符 重命名 或 抛弃 可能会更好。
python 3.7 好像修正了:
错误的,这个特性一直都在,只是 3.8+ 才会抛出警告。
直接写在一行是不行的,你可以用我那种先赋值再比较的写法试试。
a = 5.0; b = 5.0; print (a is b)
float 于此无关,详见参考链接 3
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
pypi 账号:本人几乎没有时间参与贡献,增加为成员只是给项目增加风险,还是算了吧。
主要希望在pypi上有后备发布人员。一般我仍会负责发布,包括之后适配3.10的新版本等。
Sign in to comment