Python - 初识Python
Python - 初识Python
认识开发语言
开发语言有高级语言的低级语言之分
低级语言:
c, 混编, 属于机器码,编程中底层用的
实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差
高级语言:
Python, Jave, PHP, C#, go.. 属于字符码,相比机器码跟接近于自然语言,好理解.
实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好
解释型和编译型语言
首先Python 是一门解释型语言,
计算机是不能识别高级语言的,因为它读不懂,要想让计算读懂,只能把这些读不懂的语言 翻译 成它能够读懂的语言, 这就有了 解释和编译
解释型:
1.定义:
程序在执行之前需要一个专门的编译过程,把程序编译成为
机器语言的文件,运行时不需要重新翻译,直接使用编译的
结果就行了。程序执行效率高,依赖编译器,跨平台性差些。
编译之后需要修改就要重新编译,成机器码,不同操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件.
2.有哪些编译型语言:
C/C++、Pascal/Object Pascal(Delphi)、Golang
典型的就是它们可以编译后生成.exe文件,之后无需再次
编译,直接运行.exe文件即可。
编译型:
1. 定义:程序不需要编译,程序在运行时才翻译成机器语言,每执行
一次都要翻译一次。因此效率比较低。在运行程序的时候才翻译,专门有
一个解释器去进行翻译,每个语句都是执行的时候才翻译。效率比较低,
依赖解释器,跨平台性好.
2.有哪些解释型语言:Java、C#、PHP、JavaScript、VBScript、
Perl、Python、Ruby、MATLAB 等等
注意: 这个Java 是(解释型加编译型)
Python解释器的种类
Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释器:
CPython
当 从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解释器:Cpython,这个解释器是用C语言开发的,所以叫 CPython,在命名行下运行python,就是启动CPython解释器,CPython是使用最广的Python解释器。
IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的,好比很多国产浏览器虽然外观不同,但内核其实是调用了IE。
PyPy
PyPy是另一个Python解释器,它的目标是执行速度,PyPy采用JIT技术,对Python代码进行动态编译,所以可以显著提高Python代码的执行速度。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
在Python的解释器中,使用广泛的是CPython,对于Python的编译,除了可以采用以上解释器进行编译外,技术高超的开发者还可以按照自己的需求自行编写Python解释器来执行Python代码,十分的方便!
ascii, unicode, utf-8, gbk
ascii:
A:00000010 8位 一个字节
unicode:
A:00000000 00000001 00000010 00000100 32位 四个字节
中:00000000 00000001 00000010 00000100 32位 四个字节
utf-8:
A:00000110 8位 一个字节
欧: 16位 2个字节
中:00000010 00000110 16位 三个字节
gbk:
A:00000110 8位 一个字节
中:00000010 00000110 16位 两个字节
1,各个编码之间的二进制,是不能互相识别的,会产生乱码。
2,文件的存储,传输,不能是unicode (只能是utf-8 utf-16 gbk gbk2312 ascii等)
开启Python之路
变量
字母,数字,下划线。(数字不能开头;不能是关键字,最后不和python的内置东西重复)
# 如果将字符串转换成数字 new_inp = int(inp)
条件语句
缩进用4个空格,if else语句
1、基本
2、嵌套
3、if elif else
循环
死循环(无限循环) while
while 条件:
....
print('....')
for i in 100:
pass
for i in range(1,100)
pass