- 主题:增加了一个 union 语法
只是提示,不会做检查而已
【 在 seablue (deepblue) 的大作中提到: 】
: 感觉list[]里面可以随便填。
: In [9]: def fun() -> list[dict]:
: ...: return list(range(10))
: ...................
--
FROM 61.149.72.132
好像是3.9加的吧,也stable了
【 在 seablue (deepblue) 的大作中提到: 】
: 哦。第二个也是新的?
--
FROM 61.149.72.132
哦哦。我写错了。-_-!!
【 在 fanjiyouyi (fanjiyouyi) 的大作中提到: 】
: return list(range(10)) 这返回的不是数字列表吗,怎么list[str]
--
FROM 117.24.207.*
正在看<Manning.Python.Concurrency.with.asyncio.2022.2>的路过...
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 反正最近加的这些语法。我写的语法解析器不打算支持了。坚持在 async/await 之前的语法子集上。
--
FROM 223.104.97.*
这个 async/await 语法是 python 最近二十年最大的败笔。
python 应该把 greenlet 集成到主线去才对。把 threading 的实现改成基于协程,而非操作系统线程。
【 在 lokta (部落) 的大作中提到: 】
: 正在看<Manning.Python.Concurrency.with.asyncio.2022.2>的路过...
--
修改:hgoldfish FROM 117.24.207.*
FROM 117.24.207.*
但是异步这一套东西,大家都差不多.scala, ts也是这么玩的.
现在很多新语言也是这个讨论.
所以python也是跟主流靠拢...
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 这个 async/await 语法是 python 最近二十年最大的败笔。
: python 应该把 greenlet 集成到主线去才对。把 threading 的实现改成基于协程,而非操作系统线程。
--
FROM 223.104.97.*
python 和 js 搞 async/await 都是错的。因为这两个语言一直没有多线程的基础(js 从来不支持多线程,而 python 有 GIL)),可以毫无负担地搞多协程+多进程。
python,搞 async/await 比 js 还糟糕。
举个例子,python 支持 __add__, __getattr__ 这些运算符重载。如果在这些函数里面要调用 async 函数,要怎么办?是不是还得添加 async __add__() 的支持?类似的问题还有很多。
所以说 python 搞 async/await 是个巨大的错误。
而 c#, c++, rust, scala, kotlin 这些语言搞 async/await 是对的。因为它们历史上,或者设计上,要求直接支持操作系统线程。
这事我好像在本版讨论过很多次了。可以翻翻我以前对 coroutine 的评论帖子。
【 在 lokta (部落) 的大作中提到: 】
: 但是异步这一套东西,大家都差不多.scala, ts也是这么玩的.
: 现在很多新语言也是这个讨论.
: 所以python也是跟主流靠拢...
: ...................
--
FROM 117.24.207.*
python现在主要的问题是语法变异太快了,基础的承重设施不应该这么搞。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: python 和 js 搞 async/await 都是错的。因为这两个语言一直没有多线程的基础(js 从来不支持多线程,而 python 有 GIL)),可以毫无负担地搞多协程+多进程。
: python,搞 async/await 比 js 还糟糕。
: 举个例子,python 支持 __add__, __getattr__ 这些运算符重载。如果在这些函数里面要调用 async 函数,要怎么办?是不是还得添加 async __add__() 的支持?类似的问题还有很多。
: 所以说 python 搞 async/await 是个巨大的错误。
: 而 c#, c++, rust, scala, kotlin 这些语言搞 async/await 是对的。因为它们历史上,或者设计上,要求直接支持操作系统线程。
: 这事我好像在本版讨论过很多次了。可以翻翻我以前对 coroutine 的评论帖子。
--
FROM 39.144.40.*
向其它语言学习,加上 := 和 pattern match 越来越时髦。
【 在 javaboy (喝了咖啡就话多-_-;) 的大作中提到: 】
: python现在主要的问题是语法变异太快了,基础的承重设施不应该这么搞。
--
FROM 117.24.207.*
比如这样的:
class A:
async def __abs__(self):
asyncio.slepp(1)
return 1
pycharm里会直接提醒你function __abs__ cannot be aysnc
说明这玩意儿本质上不太支持这么玩.
但是非要这么玩也不是不可以.
只不过__abs__就必须变成async.
【 在 hgoldfish (老鱼) 的大作中提到: 】
: python 和 js 搞 async/await 都是错的。因为这两个语言一直没有多线程的基础(js 从来不支持多线程,而 python 有 GIL)),可以毫无负担地搞多协程+多进程。
: python,搞 async/await 比 js 还糟糕。
: 举个例子,python 支持 __add__, __getattr__ 这些运算符重载。如果在这些函数里面要调用 async 函数,要怎么办?是不是还得添加 async __add__() 的支持?类似的问题还有很多。
: ...................
--
FROM 223.104.95.*