热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1.《Python程序设计基础与应用》第1章Python概述

第1章Python概述1.1Python语言简介(1)Python是一门跨平台、开源、免费的解释型高级动态编程语言。(2࿰
第1章 Python概述

1.1 Python语言简介

(1)Python是一门跨平台、开源、免费的解释型高级动态编程语言。
(2)Python除了可以解释执行之外,Python还支持将源代码伪编译为字节码来优化程序提高加载速度并对源代码进行一定程度的保密,也支持使用py2exe、pyinstaller、cx_Freeze或其他类似工具将Pyhon程序极其所有依赖库打包成为各种平台上的可执行文件。
(3)Python支持命令式编程和函数式编程两种方式,完全支持面向对象程序设计。
(4)Python最重要的是拥有大量的扩展库。
(5)Python语言拥有“胶水”功能,可以把不同语言编写的程序融合到一起,实现无缝连接。

1.2 Python版本简介

(1)Python官方网站同时发行和维护着Pyhon2.x和Python3.x两个不同的系列的版本。(现如今,2.x不再维护)
(2)Pyhon2.x和Python3.x两个不同的系列的版本存在着许多不兼容:基本输入输出不同内置函数和标准库对象不同

1.3 Pyhon开发环境安装与配置

(1)Python开发环境:IDLE:官方安装包自带的Anaconda3PyCharmEclipsezwPython
(2)IDLE开发环境提供语法高亮(使用不同的颜色显示不同的语法元素),如:绿色显示字符串橙色显示Python关键字紫色显示内置函数
(3)IDLE开发环境还提供:交互式运行:一次只能执行一条语句(普通语句直接按回车运行、复合语句需要按两次回车运行)程序编写和运行简单的程序调试功能
(4)IDLE没有集成任何扩展库

直接在IDLE中回车运行并显示结果:
在这里插入图片描述
点击File->点击New File->编写python程序->键入F5,在IDLE中运行并显示结果:
在这里插入图片描述
在这里插入图片描述

1.4 Python编程规范

(1)Python对缩进是硬性要求的,缩进是为了体现代码的逻辑从属关系。(一个缩进是4个空格)
(2)每个import语句只导入一个模块,最好按标准库、扩展库、自定义库的顺序依次导入。
(3)最好在每个类、函数定义和一段完整的功能代码之后增加一个空行。
(4)最好在运算符两侧各增加一个空格,逗号后面增加一个空格。
(5)尽量不要写过长的代码,以保证可读性。若长度超过屏幕,最好使用续行符"\",或者使用圆括号把多行代码括起来表示是一条语句。
(6)复杂表达式中,要正确使用括号来明确隶属关系和顺序。
(7)两种注释:#单行注释,三引号多行注释。
(8)缩进结束,表示一个代码块的结束。
(9)同一个级别的代码块的缩进量必须相同。

1.5 扩展库安装方法

(1)在Python中,库或者模块是指一个包含函数定义、类定义或常量的Pyhon程序文件,一般不对这两个概念进行严格区分。
(2)标准库:math:数学模块random:与随机数以及随机化有关的模块datetime:日期时间模块collections:包含更多扩展性序列的模块urllib:与网页内容读取以及网页地址解析有关的模块
(3)扩展库/第三方库:openpyxl:用于读写excel文件python-docx:用于读写word文件numpy:用于数组计算与矩形计算scipy:用于科学计算pandas:用于数据分析matplotlib:用于数据可视化或科学计算可视化scrapy:爬虫框架shutil:用于系统运维pyopengl:用于计算机图形化编程pygame:用于游戏开发sklearn:用于机器学习tensorflow:用于深度学习
(4)Python自带的pip工具是管理扩展库的主要方式,支持python扩展库的安装、升级和卸载等操作。
(5)pip的使用方法:pip freeze [>requirments.txt] 列出已安装模块及其版本号pip install SomePackage[==version] 在线安装SomePackage模块的指定版本pip install SomePackage.whl 通过whl文件离线安装扩展库pip install package1 package2 ... 依次在线安装package1 package2等扩展模块pip install -r requirements.txt 安装requirments.txt文件中指定的扩展库pip install --upgrade SomePackage 升级SomePackage模块pip uninstall SomePackage[==version]卸载SomePackage模块
(6)pip指令存放在python安装目录的script文件夹下

1.6 标准库与扩展库中对象的导入与使用

(1)标准库和扩展库中的对象,需要先导入才能使用,导入方法如下:import 模块名 [as 别名]from 模块名 import 对象名 [as 别名]from 模块名 import *
(2)使用import 模块名 [as 别名]这种方式将模块导入以后,使用时候必须在对象之前加上模块名/别名为前缀,也就是必须以“模块名/别名.对象名”的这种形式进行访问。
(3)使用from 模块名 import 对象名 [as 别名]这种方式导入明确指定的对象,可以提高访问速度。
(4)使用from 模块名 import *这种方式依次导入模块中所有对象,简单粗暴,写起来比较省事。可以直接使用模块中的对象而不需要再使用模块名作为前缀。

1.7 Python程序的__name__属性

(1)Python程序文件,除了可以直接再开发环境或命令提示符环境中运行;还可以被作为模块导入并被使用其中的对象。
(2)通过Pyhon程序的__name__属性可以识别程序的使用方法:如果作为模块被导入,则其__name__属性的值被自带设置为模块名;如果作为程序被直接运行,则其__name__属性的值被自动设置为字符串"__nain__"。
(3)例子:
def main():if __name__ == '__main__':print('This program is run directly')elif __name__ == '__hello':print('This program is used as a module')main()

1.8 WEB安全总结

以下Python程序被pyinstaller打包成为可执行文件,在CTF/以及XP系统复现漏洞的时候中遇到过。

(1)Python除了可以解释执行之外,Python还支持将源代码伪编译为字节码来优化程序提高加载速度并对源代码进行一定程度的保密,也支持使用py2exe、pyinstaller、cx_Freeze或其他类似工具将Python程序极其所有依赖库打包成为各种平台上的可执行文件。

2021.09.17 (1.5h)


推荐阅读
author-avatar
a734839433
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有