没有合适的资源?快使用搜索试试~ 我知道了~
Python详细介绍及使用(基础篇).pdf
资源推荐
资源详情
资源评论
Python详细介绍及使用详细介绍及使用(基础篇基础篇)
第一章第一章 Python基础基础
Python的由来:的由来:1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来
自Guido所挚爱的电视剧Monty Python's Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以
当时的英国生活为素材)。他希望这个新的叫做Python的语言,能实现他的理念(一种C和shell之间,功能
全面,易学易用,可拓展的语言)。
1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C库(.so文
件)。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词
典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。
Python语法很多来自C,但又受到ABC语言的强烈影响。(ABC语言旨在替代BASIC,Pascal等语言-
Python创始人Guido van Rossum于20世纪80年代曾在ABC系统开发中工作了数年)今天Python已经进
入到3.0的时代。由于Python 3.0向后不兼容,所以从2.0到3.0的过渡并不容易。另一方面,有人说
Python的运算性能低于C++和Java,Python的性能依然值得改进。
一、一、Python基本概念及环境配置基本概念及环境配置
1、基本概念、基本概念
Python是一种解释型语言,边执行边编译。但是这样会影响执行效率,通常编译型语言的效率比解释
型语言高。不过解释型语言对平台的依赖性更低。
Python优势:代码量少、可移植性、有丰富的库。胶水语言,可以将python和非python所编写出来的
库,让python进行调用。
python诞生于1989年。Python开发的网站:知乎,拉钩,果壳,豆瓣,youtobe......
Python语言设计的哲学:优雅、明确(尽量使用一种方式做一件事)、简单
Python可设计的领域:系统编程、GUI、网络编程(爬虫...)、Web编程、数据库编程...
Python运行时都需要生产字节码文件,交由虚拟机来处理。当我们在运行python文件程序的时
候,python解释器将源码转换为字节码,然后由解释器来执行这些字节码,以求重复执行时更快更高
效。不像java那样要先编译才能再执行,python可以边执行边编译。[java比较特殊,java这个编译过程并
不是直接编译成机器语言,而是将其编译成字节码文件,由JVM将字节码文件翻译成机器语言,由此很
好的实现了跨平台的特性]
注:解释性语言是指他们都有自己的解释器,也可以通俗的理解为翻译器(计算机本身是不能直接理
解高级语言的,只能直接理解机器语言,所以必须把高级语言翻译成机器语言),解释性语言对平台的
依赖相对较小,但是在执行过程中要比编译性语言的效率低。
编译型语言:在程序执行前,有一个单独的编译过程,将程序直接翻译成机器语言。以后执行这个程
序的时候就不需要再进行翻译了。
Python 2.7 是 2.x 系列中的最后一个主版本,于2010年7月3日发布。因为Python 维护人员已将新功能
开发工作的重点转移到了 Python 3.x 系列中。这意味着,尽管 Python 2 会继续修复bug并更新,以便在
新的硬件和支持操作系统版本上正确构建,但不会有新的功能发布。Python 3.0实现了很多非常有用的功
能,并打破了向后兼容性。
2、环境变量配置、环境变量配置
安装完成后(如果安装时未添加环境变量),要进行环境变量配置[是为了在任何目录下都可以执行
python命令]
a)进入计算机-属性-高级系统设置-高级-环境变量
b)找到Path变量,再最后面加入Python的安装路径。
c)win+R 输入cmd,在DOS下输入python,回车出现如图所示,则说明环境变量配置好了
二、运行二、运行python
1、命令行上的交互式解释器、命令行上的交互式解释器
1.1、交互式解释器、交互式解释器
a)直接启动python(command line)
b)可以使用DOS启动(运行cmd,使用python启用)
但是这种交互式模式下,执行完成后很难再次运行。因此保存为.py程序。
1.2、、python 命令运行脚本命令运行脚本
使用命令运行【xxx.py】程序。python xxx.py
1.3、在编写成、在编写成.py文件时要注意的问题文件时要注意的问题
在python3.x中的默认编码为【utf-8】,而在Python2.x中,默认编码为ASCII,如果没有声明,文件中
又包含非ASCII编码的字符(如:中文),解析文件的时候就会报错(Non-ASCII character)
如果是python2.x我们需要运行.py命令,在创建文件时,我们需要在头部文件中声明编码格式。为什
么要声明字符编码格式?如果没有此文件的字符编码类型的声明,则按照默认编码去处理。
在头部声明编码格式(一般在第一行或第二行,#coding = utf-8告诉python解释器按照utf-8读取源代码):
方式一:
#coding=<encoding name> 例如:#coding = utf-8 只能放在首行
方式二:
#!/user/bin/python
#-*-coding<encoding name>-*- 例如:# -*- coding: utf-8 -*-
方式三:
#!/user/bin/python
#vim:set fileencoding=<encoding name> 例如:#vim:set fileencoding=utf-8
说明:#!/user/bin/python(#解释:这句话是表明在unix/linux下执行脚本时,要启动的解释器,是/usr/bin下面的python解释器)具体的后面说明。
2、如何生成、如何生成.pyc/.pyo字节码文件字节码文件
前面说到python是解释型语言,但是我们再执行的时候并没有看到有生成字节码文件呀?
python虚拟机执行过程:虚拟机执行过程:
a)完成模块的加载和链接
b)由编译器(Complier)将源代码翻译为PyCodeObject对象(也就是字节码.pyc/.pyo),并将其写入内
存当中
c)从上诉内存当中(方便CPU的读取)读取指令,并执行
d)程序结束后,根据命令行调用情况(取决于程序的方式),决定是否将PyCodeObject写会硬盘当中
e)后续再执行此脚本的时候,会先检查本地是否有上诉字节码文件,若有则执行,否则重复上述步
骤。
为什么不直接生产这些文件?其实虚拟机也是讲究效率的,对于较大的项目如果要将PyCodeObject写
会硬盘中,不可避免的要花些时间,而且我们也不知道这个程序是不是只执行一次。
Python虚拟机(PVM)种类:
a)CPython:原始、标准的实现。平时用的就是Cpython。可以调用C实现的类库,虽然
Jpython,IronPython也可以。但是Cpython调用java实现的类库就会麻烦一些
b)Jython:用于与java语言集成的实现。可以直接调用外部的java类库
c)IronPython:用于与.NET框架集成的实现。
直接执行直接执行py文件不会自动生成字节码文件,需要手动编译一下:文件不会自动生成字节码文件,需要手动编译一下:
python [options] [args]
python 命令选项说明
-d 提供调试输出
-O 生产优化的字节码(.pyo文件)
-S 不导入site模块以在启动时查找Python路径
-v 冗余输出(导入语句详细追踪)
-m mod 将一个模块以脚本形式运行(相当于脚本中的import)
-Q opt 除法选项
-c cmd 运行以命令字符串形式提交的Python脚本
file 从给定的文件运行Python脚本
2.1、方式一:、方式一:命令方式命令方式
#语法:
# 单个文件
python -m py_compile xxx.py
# 批量(目录)
python -m compileall /../path
1)使用[py_compile模块]生成.pyc字节码文件
2)生成优化的字节码文件[.opt-1.pyc/.opt-2.pyc/.pyo]
3)也可以整个目录一起生成字节码文件[compileall模块]
注:__pycache__目录下不同版本的模块可以共存。python的编译可以有两层优化,-O和-OO,都是
编译出.pyo文件,但从文件后缀上,看不出使用的是哪一层优化。这会导致一些使用上的问题。
因此,从python3.5开始,__pycache__目录下,就不会再有.pyo文件了。PEP 488提出的新的方案,
还是回到.pyc文件,使用opt-1和opt-2来区分优化层级。
2.2、、方式二:方式二:脚本方式脚本方式
# 语法
import py_compile
>>> if __name__=='__main__':
py_compile.compile('c:\hello.py')
>>> import compileall
>>> if __name__=='__main__':
compileall.compile_dir('C:\\hello\\')
在交互式解释器上运行在交互式解释器上运行(安装好Python后,会有一个IDLE)
python的集成开发环境有很多,比如: PythonWin、PyCharm、Komodo Edit等等
三、三、Python基础知识基础知识
剩余85页未读,继续阅读
资源评论
毕业课程设计
- 粉丝: 2253
- 资源: 1644
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功