zoukankan      html  css  js  c++  java
  • python 学习(day1)

    初识python

    python的创始人为吉多*范罗苏姆(Guido van Rossum)。1989年圣诞节期间,开发出来的脚本解释程序。

    python是⼀⻔什么样的语言

    python 是一门解释型语言,弱类型语言。

    编程语⾔主要从以下⼏个⻆度为进⾏分类,编译型和解释型、静态语⾔和动态语⾔、强类

    型定义语⾔和弱类型定义语⾔,我们先看编译型语⾔和解释型语⾔. 稍后再说强类型和弱类
    编译和解释的区别是什么?
    编译器是把源程序的每⼀条语句都编译成机器语⾔,并保存成⼆进制⽂件,这样运⾏时计算机
    可以直接以机器语⾔来运⾏此程序,速度很快;
    ⽽解释器则是只在执⾏程序时,才⼀条⼀条的解释成机器语⾔给计算机来执⾏,所以运⾏速度
    是不如编译后的程序运⾏的快的.
    这是因为计算机不能直接认识并执⾏我们写的语句,它只能认识机器语⾔(是⼆进制的形式)
     
     
     
     

    编译型vs解释型

    编译型
    优点:编译器⼀般会有预编译的过程对代码进⾏优化。因为编译只做⼀次,运⾏时不需要编
    译,所以编译型语⾔的程序执⾏效率⾼。可以脱离语⾔环境独立运⾏。
    缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运⾏环境⽣
    成机器码,不同的操作系统之间移植就会有问题,需要根据运⾏的操作系统环境编译不同的
    可执⾏⽂件。
    解释型
    优点:有良好的平台兼容性,在任何环境中都可以运⾏,前提是安装了解释器(虚拟机)。
    灵活,修改代码的时候直接修改就可以,可以快速部署,不⽤停机维护。
    缺点:每次运⾏的时候都要解释⼀遍,性能上不如编译型语⾔。
     

    1.2.python的优缺点

     
    先看优点
    1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易
    懂,初学者学Python,不但⼊⻔容易,⽽且将来深⼊下去,可以编写那些⾮常⾮常
    复杂的程序。
    2. 开发效率⾮常⾼,Python有⾮常强⼤的第三⽅库,基本上你想通过计算机实现任何
    功能,Python官⽅库⾥都有相应的模块进⾏⽀持,直接下载调⽤后,在基础库的基
    础上再进⾏开发,⼤⼤降低开发周期,避免重复造轮⼦。
    3. ⾼级语⾔————当你⽤Python语⾔编写程序的时候,你⽆需考虑诸如如何管理你
    的程序使⽤的内存⼀类的底层细节
    4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动
    使它能够⼯ 作在不同平台上)。如果你⼩⼼地避免使⽤依赖于系统的特性,那么你
    的所有Python程序⽆需修改就⼏乎可以在市场上所有的系统平台上运⾏
    5. 可扩展性————如果你需要你的⼀段关键代码运⾏得更快或者希望某些算法不公
    开,你可以把你的部分程序⽤C或C++编写,然后在你的Python程序中使⽤它们。
    6. 可嵌⼊性————你可以把Python嵌⼊你的C/C++程序,从⽽向你的程序⽤户提供
    脚本功能。
    再看缺点:1. 速度慢,Python 的运⾏速度相⽐C语⾔确实慢很多,跟JAVA相⽐也要慢⼀些,因此
    这也是很多所谓的⼤⽜不屑于使⽤Python的主要原因,但其实这⾥所指的运⾏速度
    慢在⼤多数情况下⽤户是⽆法直接感知到的,必须借助测试⼯具才能体现出来,⽐如
    你⽤C运⼀个程序花了0.01s,⽤Python是0.1s,这样C语⾔直接⽐Python快了10倍,
    算是⾮常夸张了,但是你是⽆法直接通过⾁眼感知的,因为⼀个正常⼈所能感知的时
    间最⼩单位是0.15-0.4s左右,哈哈。其实在⼤多数情况下Python已经完全可以满
    ⾜你对程序速度的要求,除⾮你要写对速度要求极⾼的搜索引擎等,这种情况下,当
    然还是建议你⽤C去实现的。
    2. 代码不能加密,因为PYTHON是解释性语⾔,它的源码都是以名⽂形式存放的,不
    过我不认为这算是⼀个缺点,如果你的项⽬要求源代码必须是加密的,那你⼀开始就
    不应该⽤Python来去实现。
    3. 线程不能利⽤多CPU问题,这是Python被⼈诟病最多的⼀个缺点,GIL即全局解释
    器锁(Global Interpreter Lock),是计算机程序设计语⾔解释器⽤于同步线程的
    ⼯具,使得任何时刻仅有⼀个线程在执⾏,Python的线程是操作系统的原⽣线程。
    在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的
    执⾏。⼀个python解释器进程内有⼀条主线程,以及多条⽤户程序的执⾏线程。即
    使在多核CPU平台上,由于GIL的存在,所以禁⽌多线程的并⾏执⾏。关于这个问题
    的折衷解决⽅法,我们在以后线程和进程章节⾥再进⾏详细探讨。
     
     
     
     
  • 相关阅读:
    JavaScript cookie详解
    Javascript数组的排序:sort()方法和reverse()方法
    javascript中write( ) 和 writeln( )的区别
    div做表格
    JS 盒模型 scrollLeft, scrollWidth, clientWidth, offsetWidth 详解
    Job for phpfpm.service failed because the control process exited with error code. See "systemctl status phpfpm.service" and "journalctl xe" for details.
    orm查询存在价格为空问题
    利用救援模式破解系统密码
    SSH服务拒绝了密码
    C# 调用 C++ DLL 中的委托,引发“对XXX::Invoke类型的已垃圾回收委托进行了回调”错误的解决办法
  • 原文地址:https://www.cnblogs.com/GYC-GXm/p/12059119.html
Copyright © 2011-2022 走看看