跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 使用强类型的编程语言是否更有利于编程和数据分析?
未分類
19 3 月 2021

使用强类型的编程语言是否更有利于编程和数据分析?

使用强类型的编程语言是否更有利于编程和数据分析?

資深大佬 : xpde 1

在使用 python 编程写项目、做数据分析和深度学习任务的过程中感觉如果可以把 python 这样的语言设计成为强类型的语言。 在各种使用 import 各种第三方库时可以更准确地给出 api 的提示,同时也不再依赖于类库开发者的源码注释,就可了解需要传哪些参数进去。在写代码的时候也能防止类型不匹配的 bug 出现。 v 友们有没有这种感觉呢?

大佬有話說 (17)

  • 資深大佬 : ipwx

    你需要 type annotation + pycharm 这种 ide 。在写代码的时候得到的体验和强类型语言没啥区别。

  • 資深大佬 : secondwtq

    可是 Python 本来(一般来说)就是强类型的啊 …

  • 資深大佬 : xiri

    Python 本来就是强类型语言啊,反而 C 语言是弱类型的,,,,
    你是不是把动态、静态和强、弱类型搞混了

  • 資深大佬 : iConnect

    动态类型、强类型 ,应该是不一样的概念

  • 資深大佬 : zjsxwc

    python 本来就是强类型

  • 主 資深大佬 : xpde

    更正一下,是动态类型,本人突发奇想,没仔细检查搞混了

  • 資深大佬 : Jirajine

    typehint + pylance

  • 資深大佬 : zjsxwc

    可能主找到是 nim 语言,静态强类型,又像 python

  • 資深大佬 : jones2000

    感觉主你要的不是编程, 是需要一个强大的插件, 你只要调参就可以了。 什么数据格式,数据导入,模型选择等等全部插件自动识别搞定,自己输入参数就能出结果。

  • 主 資深大佬 : xpde

    @jones2000 哈哈,没懒到那个程度,自己还是写过不少工具软件的。去年主要在写 java,始终有上面的想法罢了

  • 資深大佬 : ipwx

    @xpde 所以用 type annotation + pycharm 不就行了嘛

  • 主 資深大佬 : xpde

    @ipwx 针对没有使用 type annotation 的第三方库,只能针对自己写的那部分做类型申明,还是不太完美

  • 資深大佬 : cmdOptionKana

    @xpde 假设真的有人做出了一个强制静态类型的 python (以下称为 staticPy),那么,这个 staticPy 能使用普通 python 的第三方库吗?

    如果可以:那么普通 python 库如果就是你说的 “没有使用 type annotation 的第三方库”,那它怎样变成 staticPy ?

    如果不行:那么意味着全部第三方库都需要重写,岂不是比目前的 type annotation 更麻烦?

  • 資深大佬 : no1xsyzy

    动态类型还仅仅指“变量的类型需要运行时才能确定”
    我记得数据分析这块有几个库甚至依赖于“类型的构成需要运行时才能确定”

  • 資深大佬 : echowuhao

    f#

  • 資深大佬 : LeeReamond

    主说的应该是静态类型。不过静态类型也有几种程度的静态类型,

    第一层比较浅的,是你指定关键位置的特定类型,满足两个最小目标,其一是 runtime 可以动态检查是否所有输入都满足该类型,其二是使用 IDE 可以看到提示。这个就是目前 python 使用的方案,虽然 runtime 检查没有杀手级产品,mypy 并不好用,不过仅满足项目需求的侵入式检查框架自己实现成本也不太大,而 IDE 补全在 pycharm 里已经有,虽然对 sublime 用户并不友好,但总体来说堪用。

    第二层完全静态,对于 python 是愚蠢且无意义的,动态是一项伟大的发明,这是动态语言后发但能逐渐蚕食静态类型语言的原因,因为它确实解决了静态的痛点。python 的设计哲学是高动态与强大的描述能力,对比 c++的哲学( Zero-Overhead Abstraction )可以明显感受到本质不同。别的不说,假如存在静态 python,它有良好的优化空间和高速的 JIT 解释器,但写代码时不是光标注`lst: list`就完事了,大多数时候你还要标注数组中储存对象的类型,比如`lst: list[int]`,从此以后你只能往 list 里面增加 int 类型,甚至无法添加 float 。你能接受吗?如果如此为什么我不使用其他语言?

  • 資深大佬 : gnef

    @LeeReamond Python 某种意义上不就是全程 Object 的 Java 吗?

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具