代码改变世界

1

2018-09-04 08:16  肖恩crz  阅读(178)  评论(0)    收藏  举报

python的创始⼈为吉多·范罗苏姆(Guido van Rossum)。

Python崇尚优美、清晰、简 单,是⼀个优秀并⼴泛使⽤的语⾔。

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

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

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

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的存在,所以禁⽌多线程的并⾏执⾏。关于这个问题 的折衷解决⽅法,我们在以后线程和进程章节⾥再进⾏详细探讨

Python安装: ⼀路确定即可. 记得path下打钩.

python程序有两种编写⽅式: 1. 进入cmd控制台. 输入python进入编辑模式. 这时候我们可以直接编写python程序 2. 也可以在.py⽂件中编写python代码. 通过python命令来执⾏python代码 注意: python2中的中⽂编码会有问题. Python2使⽤的是ASCII码编码. 处理不了中⽂. 我 们需要替换成utf-8编码.

变量:将运算的中间结果暂存到内存,以便后续程序调⽤.

 

变量的命名规则: 1, 变量由字⺟, 数字,下划线搭配组合⽽成 2, 不可以⽤数字开头,更不能是全数字 3,不能是pythond的关键字, 这些符号和字⺟已经被python占⽤, 不可以更改 4,不要⽤中⽂ 5,名字要有意义 6,不要太⻓ 7, 区分⼤⼩写 推荐⼤家使⽤驼峰体或者下划线命名 驼峰体: 除⾸字⺟外的其他每个单词⾸字⺟⼤写 下划线: 每个单词之间⽤下划线分开

在python中不存在绝对的常量. 约定俗成, 所有字⺟⼤写就是常量 例如: PI = 3.141592653 BIRTH_OF_SYLAR = 1990

有时候我们写的东⻄不⼀定都是给⽤户看的. 或者不希望解释器执⾏. 那我们可以使⽤#来 注释掉代码. 被注释的内容是不会执⾏的.可以⽅便后⾯的程序员来拜读你的代码 单⾏注释: # 被注释的内容 多⾏注释:''' 被注释的内容 ''', """这个也是多⾏注释"""

 

Python基本数据类型:

8.1 整数(int)

8.2 字符串(str) 在Python中,凡是⽤引号引起来的,全是字符串.

8.3 布尔值(bool), 真或者假, True和False

使⽤input()函数,可以让我们和计算机互动起来 语法: 内容 = input(提⽰信息) 这⾥可以直接获取到⽤户输入的内容

第⼀种语法:

 1:  if条件: 
             结果1: 
             结果2: 
      2:  if条件1: 
            结果1: 
            else: 
            结果2: 
      3:  if条件1: 
            结果1: 
          elif条件2: 
            结果2: 
          elif条件3: 
            结果3: 
          ...... 
          else: 
             结果n 
      4:   if条件1: 
             结果1: 
             if条件2: 
               结果2: 
             else: 
             结果3: 
           else: 
             结果4:"""