什么是 Python?

什么是 Python?描述一种 动态语言 类型是在运行时定义的 这意味着你不需要在创建变量时显式声明变量的类型 即使你声明了 它也不会让它更快 hello mypy Python 是一种动态语言 但它使用 严格类型检查 这对于任何严肃的动态语言都是必不

欢迎大家来到IT世界,在知识的湖畔探索吧!

什么是 Python?



欢迎大家来到IT世界,在知识的湖畔探索吧!

描述

  • 一种 动态语言
    类型是在运行时定义的。这意味着你不需要在创建变量时显式声明变量的类型。
    即使你声明了——它也不会让它更快

    (hello mypy)
  • Python 是一种动态语言,但它使用 严格类型检查, 这对于任何严肃的动态语言都是必不可少的
    它确保操作被检查兼容性,而不会自动强制类型转换。
    在弱类型中,数据强制转换可能是自动的,如果语言是动态的(例如 JS,其中

    1 + ‘1’‘11’ 或者 1 == “1”true),这可能导致意外行为。
  • 它自带无数的数据类型 ,如果没有合适的,你可以创建自己的
  • 它支持面向对象编程函数式编程
  • Python 面向对象编程的一个优点是类级别的属性不是在实例之间共享的,与 Ruby 不同。
  • 它具有 出色的元编程 能力,深度大多数其他语言都不提供。
  • 它没有命名空间,但提供了类和静态方法。因此使用类,你可以 根据需要“创建”命名空间
  • 它默认有 GIL,这是硬编码且不可妥协的。然而,在 Python 3.13 之后,你可以下载源代码并使用一个标志来 禁用它
  • 全局解释器锁(GIL) 使得 Python 主要适用于单线程和异步编程。(多线程仅限于 I/O 密集型任务。多进程?在马拉松开始前就朝自己膝盖开枪可就不好了。)
    然而,Python 的
    “科学” 方面,即 CPU 密集型任务,是通过 C 或 C++集成来处理的。
  • Python 的执行方式很特别。它首先被翻译成 Python 字节码(.pyc),然后逐行执行,这也是它比编译型语言慢的一个原因。
  • Python 代码在执行后仍然可读,这在逆向工程方面是不安全的。这就是为什么有各种工具来加密中间代码或直接将其转换(比如 Nuitka)。
  • 开箱即用 ,Python 自带了一套数据类型(字符串、数字),其他所有你需要的东西都需要自己创建。
  • 在 Python 中赋值变量时 引用会被存储在栈上,并指向一个内存地址 ,该地址指向存储对象的内存块

工具

  • PyPy,比标准的 CPython 更快。(它检测到最常用的热点,并使用嵌入的 JIT 编译器将它们编译成机器码,然后进行缓存。)然而,它的启动时间非常长。此外,Pypy 的开发者不想处理垃圾回收和其他事情,所以 他们保留了 GIL。因此,在企业开发环境中,PyPy 解决非常罕见的问题。
  • 有各种 代码检查工具和代码分析器 ,比如 mypyflake8,实际上它们除了“最佳实践”外并没有提供太多功能。所以它们不会神奇地将垃圾(JavaScript)变成糖果(TypeScript)。

Python 解决的问题

  • 快速简单的开发
    任何人都可以安全地用 Python 编程,而不用担心风险。
    GIL、递归最大深度等。Python 就像一架自动驾驶的飞机。
    即使开发者不知道细节,这篇文章也提供了这些答案。

  • 跨平台兼容性
    绝对是
  • 自动化与脚本编写。
    取决于任务。有时 Python 更合适,有时 Shell 就足够了。
  • 数据科学和机器学习。
    用 C++也可以做到,但完全取决于便利性,也就是开发时间。就像 ChatGPT 是用 Python 编写的。
  • 后端开发。
    对于中小型企业,Python 非常适用。
    此外,

    Odoo,中小型企业可爱的解决方案 (垃圾) 已经在这里。
    对于大型企业,这更具争议性。
    – 在一方面,Python + Go 就足够了。
    在其他方面:Django 的 MVT 模式与 app,也就是在单体中的伪微服务是特定的,FastAPI 则是绝对的糟糕(异步开发在 Python 中就是糟糕,无尽的


    awaitCoroutine-南瓜),Flask 不适合企业使用,其他的要么已经死了要么不够认真。
    当你这么说时,有人会说“顺便我们用了 Flask 并且有数百万用户”,结果发现 Flask 不是主要的框架,而是作为 API qham 在某个微服务中使用,或者它是一段遗留代码。

然而,现实和诚实地讲,Python 本身并不是解决任何问题的最佳选择。它更像是引入了保姆功能。它解决了关于时间和能力的问题。当没有额外的资源可以负担时。然而,Python 是非常稳固的。它不是 JavaScript、Ruby 或 PHP。是那些开发者想要证明他们是“真正的工程师”,并且把 Python 看作是自我肯定的一种简单目标的语言。

Python 的优势

Python 实际上是一个概念集合。

  • 封装的概念
    由于 Python 的本质
    易于儿童理解 ,一些概念被抽象化了。
    例如,Python 不直接暴露指针。
  • 修改但可用的概念
    如 JS 中的承诺(这里它们是特性)
  • “只是为了存在”而存在的概念
    像泛型、垃圾回收。
  • 按照原样提供概念
    像函数式编程特性(map、filter 等)
  • 通过第三方库引入外部概念
    有些概念不是内置的,但可以在第三方库中找到,比如静态或动态数组、向量等。

最后的思考

Python 只是一个糟糕的语言,从长期职业发展的角度来看也是这样。

  • 如果你想只是追求职业,那么选择 JavaScript。
  • 如果你想拥有一个稳固的职业,那么选择 Go 和 Rust。

否则你需要超越全球数百万位曾经创建过并随时准备被 IT 行业雇佣的开发者。

然而,Python 非常出色,因为它提供了深度,正如之前提到的,它就像一把瑞士军刀。

如果你真正掌握了 Python,转向任何其他严肃的语言都会变得容易。Python 迫使你面对动态与静态类型、引用、内存模型、面向对象编程、函数式编程和元编程等概念——即使它们被抽象化了。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/125001.html

(0)
上一篇 1小时前
下一篇 47分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信