python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。 html
目前Python主要应用领域:java
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机能够直接以机器语言来运行此程序,速度很快; python
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,因此运行速度是不如编译后的程序运行的快的. c++
这是由于计算机不能直接认识并执行咱们写的语句,它只能认识机器语言(是二进制的形式)算法
编译型vs解释型编程
编译型
优势:编译器通常会有预编译的过程对代码进行优化。由于编译只作一次,运行时不须要编译,因此编译型语言的程序执行效率高。能够脱离语言环境独立运行。
缺点:编译以后若是须要修改就须要整个模块从新编译。编译的时候根据对应的运行环境生成机器码,不一样的操做系统之间移植就会有问题,须要根据运行的操做系统环境编译不一样的可执行文件。多线程
解释型
优势:有良好的平台兼容性,在任何环境中均可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就能够,能够快速部署,不用停机维护。框架
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。运维
先看优势
再看缺点:
Cpython:
基础C语言开发的python
运行流程:代码——C字节码——机器码(逐行解释)
Pypy: Cpython的加速版
运行流程:代码——C字节码——机器码(所有提早解释完成)
其余python
运行流程:代码——其余字节码——机器码
潜规则:
以py pyc结尾
下载地址:
https://www.python.org/downloads/
Windows:
一、下载安装包
https://www.python.org/downloads/
二、安装
默认安装路径:C:\python27
双击安装,会有一项询问是否要配置环境变量,勾上,完成安装后就不用配置了。若是没有,按照以下方法配置:
三、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python27,切记前面有分号
4.验证是否安装成功
C:\Users\yangqq>python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
Linux:
系统通常会自带。
解释器解释的流程:
a. 打开文件,读取文件内容
b. 词法分析,语法分析
c. 字节
安装
http://pan.baidu.com/s/1eRHhplS 安装破解方法
激活方法:
点击Register-license server 输入 http://idea.liyang.io
基本使用:
调整背景颜色
setting-Aooearance&Behavior-Appearnce-Theme:
设置按住ctrl键移动鼠标调整字体的大小
setting-搜索框中输入 mouse-general-勾选 Change font size with Ctrl+Mouse Wheel
修改编码
Default settings-搜索 encoding
自定义python script
default settings-搜索 temp -editor-file and code templates-python script 输入
#!/usr/bin/env python # -*- coding: utf-8 -*-
修改字体
settings-editor-colors&fonts-font
修改字体颜色
settings-editor-colors&fonts-font-python
8位为一组 8位=1字节
ASCII 256
最开始的编码,共256位,只有英文,数字,特殊符号。英文是占用一个字节
万国码
至少16位 为了迎合各国的语言,中文三个字节,英文两个字节
Utf-8
万国码的压缩,老外不干呀,原本一个字节就够了,还得用两个,就诞生了这个,能少用就少用
英文一个字节,中文三个字节
GBK,GB2312
中国人本身的编码,中文两个字节,big5是繁体
应该告诉python解释器,用什么编码来执行源代码
#!/usr/bin/env python # -*- coding: utf-8 -*- #!/usr/bin/env python # -*- coding: utf-8 -*- print "你好,世界"
#_*_coding:utf-8_*_ name = "Alex Li"
上述代码声明了一个变量,变量名为: name,变量name的值为:"Alex Li"
变量定义的规则:
变量的赋值
name = "Alex Li" name2 = name print(name,name2) name = "Jack" print("What is the value of name2 now?")
好好理解变量和值之间的关系
#!/usr/bin/python #-*-coding:utf-8 -*- name = "yangqiqi" name2 = name print(name) print(name2) print("————————————————") name = "landandan" print(name) print(name2) 执行结果: C:\Users\yangqq\AppData\Local\Programs\Python\Python36\python.exe E:/python/studynote/s17/day01/s2.py yangqiqi yangqiqi ——————————————— landandan yangqiqi Process finished with exit code 0 解释: Name = “yangqiqi” 这个是内存中yangqiqi的代称 当name 2 = name的时候,意义是name2是name在内存中“yangqiqi”的这个值的代称,指向的是这个值不是name 因此当name = “landandan”修改了值后,实际上是跟name2没有关系的
当行注视:# 被注释内容 多行注释:""" 被注释内容 """