介绍
编译型与解释型
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时
计算机可以直接以机器语言来运行此程序,速度很快;
解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,
所以运行速度是不如编译后的程序运行的快的.
编译型 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型 优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
动态语言和静态语言
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,
在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,
在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如
VBScript也多少属于动态类型语言。
(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,
也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,
其他的静态类型语言还有C#、JAVA等。
强类型定义语言和弱类型定义语言
(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,
如果不经过强制转换,那么它就永远是这个数据类型了。强类型定义语言是类型安全的语言。
(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反,一个变量可以赋不同数据类型的值。
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语
言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。
通过上面这些介绍,我们可以得出
. Python是一门动态解释性的强类型定义语言。
Python源码包的安装
去python官网下载3.0以后版本的python源码包。
www.python.org
解压:
可以看到里面的一些文件。
./configure --help
在这个目录中执行脚本,查看帮助
其中我们可以看到l
其中–disable 的参数是默认添加进python程序中的,当我们加上这个选项后,就会不加人后面跟的选项。–enable的相反。
./configure --prefix=/usr/local/python3
执行命令进行预编译。
没有问题,则进行编译和安装
make && make install
提示我们少 zilb 包,我们下一个
再次编译安装:
成功。
但是还是无法使用python3的命令,只有python2.7:
我们需要进入到bin目录中才可以执行名命令。
为了方便使用,我们吧它链接到环境变量中。
ln -s /usr/local/python3/bin/* /usr/local/bin
就可以使用python3命令了
Python代码的简单用法
python脚本都是以py结尾的。
写第一个脚本:
用python2去执行:
两种方式都可以。
用python3 去执行:
则是不支持第二种语法的,这就是2和3版本的一些差别。
2不支持中文,3支持中文
代码开始加上:
python2就可以使用utf-8格式支持中文了
python的注释
print('hello world')
# this is a comment 第一种注释方式
print('hello westos') #this is a connent 第二种注释方式
"""
they are
comment 第三种注释方式
"""
print('hello linux')
执行效果:
可见没有注释的内容。
对于比较复杂的脚本注释是很必要的,他可以帮助我们更容易了解代码的作用。
Python中控制输入输出
Python2中:
input只可以识别数值,不能识别字母,所以报错。
我们想让不报错可以:
raw_input可以吧输入的内容转换为字符串处理。
当我们用raw_input定义一个变量时,可以看出其类型为字符串。
用int将它变为整形,在比较时 age 的值大于 19 是因为他是用ASCII码进行比较的
所以我们一般在比较时需要将其值转换为相同的形式。
Python3中:
Python3 中会把所有接收的东西都当成字符串对待。无 raw_input 函数。
Python格式化输出
%s str 字符串
%d int 整形
%f float 浮点数
%% % 两个百分号就代表%
安装 ipython:
rhel8中直接执行: pip3 install ipython
后面的%里的内容顺序必须和前面保持一致,不然类型不同会报错。
%f 代表浮点数。
当money为整型时会自动补齐几个0, .2代表2个0 。
整型也可以补齐,1不够三位,所以是001。
%%就代表%
scale * 100 = 0.1 * 100 =10