python与平面设计的区别_你对Python有什么误解?

误解1:Python属于弱类型?

曾经看到有人提问怎么才能学好弱类型语言,比如python?

Python是弱类型?Python并不是弱类型,Python是动态型强类型语言。

这里有一个对于各种语言类型的简单定义:

动态型语言:运行期间才做数据类型检查的语言,即动态类型语言编程时,永远不用给任何变量指定数据类型。该语言会在第一次赋值给变量时,在内部将数据类型记录下来。

静态型语言:编译期间做检查数据类型的语言,即写程序时要声明所有变量的数据类型,是固定的。使用数据之前,必须先声明数据类型。相当于使用之前,首先要为它们分配好内存空间。

强类型语言:一旦变量被指定某个数据类型,如果不经强制转换,即永远是此数据类型。

弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

误解2:Python速度太慢了?

在编程世界里,很多门外汉也都知道,运行速度最快的是C,运行很慢的是python。Python作为动态性语言,因为对象模型等种种原因导致他的运行速度很慢。

然而对于速度的定义并不单单局限于运行的速度,整体的一个流程中,各个方面的综合速度才是衡量的标准。

Python通过它独具优势的优化性能让自己变得更加高效。python运行速度慢,但是代码量非常少,几十行代码就能做到C几百行才能做到的东西。同时,它也比C更加的容易上手使用,用法的灵活性和兼容性极大地节省了开发时间。

同时Python拥有大量的自带以及第三方库,这让他在与其他语言的比较中显得更加效率。

误解3:Python不够安全?

在大众眼中,Python作为解释型语言,通常采用源码方式发布软件,这样会使得代码出现保密性不好,安全性不高的情况。

其实Python是支持编译的,他是编译+解释的混合类型。运行环境的安全是非常重要的一环,每种语言都有反汇编器或可以被破解。CPython则通过简单稳定的虚拟机来解决这些问题。

同时,Python还具有一系列广泛开源的、行业标准的安全库,它们将hashlib,PyCrypto和OpenSSL结合在一起,通过PyOpenSSL,进行一些处理来满足各种安全和性能需求。

误解4:Python仅仅是一门脚本语言?

脚本一直没有严格的定义。简单的说,代码比较动态,以源代码方式发布执行的,就可以称作脚本了。Python虽然也有编译的步骤,但是大多数情况Python直接接受的输入还是源代码,这也是大家直接判断python是一门脚本语言的原因之一。

但是Python并不仅仅是一门脚本语言。Linux杂志读者报告显示Python是最好的编程和脚本语言之一。Python正在积极地接管Java、PHP、C+、bash、Perl、Ruby等,它通过灵活且效率的技术不断减少开发人员在创建独立应用程序、Web应用程序、游戏应用程序、企业应用程序和其他各种应用程序方面的工作量。

误解5:Python缺乏并发性?

很多人都会说Python缺乏并发性,其实并不是如此。在说Python的并发性之前,我们不得不提到一个概念,全局解释器锁—GIL。

首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。GIL作为一个全局锁,对多线程的上下文切换有很大的影响,它是Python大多数使用情况下的性能优化,GIL可以让操作系统的线程或绿色线程使用起来更容易,同时不影响多进程的使用。

同时Python是有很多并发性包和框架的。Python拥有强大的并发原语,包括generators, greenlets, Deferreds, 和futures.。同时还有优秀的并发框架,包括eventlet, gevent,和Twisted。

目前大量服务器端软件采用Python开发,我们也看到Python服务器每天每台机器有数百万次的请求,但它们都可以轻松的处理。所以不能说Python缺乏并发支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值