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的存在,所以禁⽌多线程的并⾏执⾏。关于这个问题
    的折衷解决⽅法,我们在以后线程和进程章节⾥再进⾏详细探讨。
     
     
     
     
  • 相关阅读:
    FastDFS概述及原理
    SpringBoot中使用Redis缓存注解
    SpringBoot中使用Redis
    Jedis
    Redis客户端
    Redis的集群配置
    Redis的复制
    英语笔记-5
    内网转发Ubuntu
    数学笔记-4
  • 原文地址:https://www.cnblogs.com/GYC-GXm/p/12059119.html
Copyright © 2011-2022 走看看