01 . Python简介及部署
Python简介
计算机语言
- 人与计算机之间交互的语言
机器语言
- 一定位数组合二进制的0和1的序列,被称为机器指令,机器指令的集合就是机器语言
- 与自然语言差异太大、难学、难懂、难记、难差错.
汇编语言
- 用一些助记符号替代机器指令,称为汇编语言,ADDA,B指的是将寄存器A的数与寄存器B的数相加得到的数放到寄存器A中.
- 汇编语言写好的程序需要汇编程序转换成机器指令
- 汇编语言只是稍微好记了写,可以认为就是机器指令对应的助记符,只是符号本身接近自然语言.
程序
- 算法+数据结构=程序
- 数据一切程序的核心
- 数据结构是数据在计算机中的类型和组织方式.
- 算法是处理数据的方式,算法有优劣之分.
写程序难点
- 理不清数据
- 搞不清处理方法
- 无法把数据设计转换成数据结构,无法把处理方法转换成算法.
- 无法用设计范式来进行程序设计.
- 世间程序皆有bug,但不会debug。
Python解释器
官方CPython
C语言开发,最广泛的解释器
IPython
一个交互式、功能增强的Cpython
PyPy
Python语言编写的Python解释器,JIT技术,动态编译Python代码
Jython
Python的源代码编译成Java的字节码,跑在JVM上
IronPython
与Jython类似,运行在.Net平台上的解释器,Python代码编译成.Net的字节码.
Python语言类型
Python是动态语言,强类型语言
静态编译语言
- 实现声明变量类型,类型不能再改变
- 编译时检查
动态编译语言
- 不用事先声明类型,随时可以赋值为其他类型
- 编程时不知道什么类型,很难推断.
- 运行时候才能发现大量bug
强类型语言
- 不同类型之间操作,必须先强制类型转换为同一类型,print('a'+1)
弱类型语言
- 不同类型间可以操作,自动隐式转换,JavaScript中console.log(1+'a')
部署Python3.7
CentOS7部署Python3.7
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar -xvJf Python-3.7.0.tar.xz
mkdir /usr/local/python3
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
CentOS7更换pip源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gevent