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

本文阅读 8 分钟
首页 代码,C/C#/C++ 正文

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

直接在IDLE中回车运行并显示结果: img 点击File->点击New File->编写python程序->键入F5,在IDLE中运行并显示结果: img img

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)

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_45555226/article/details/120343863
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复