热门标签 | 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)


推荐阅读
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • PyCharm中配置Pylint静态代码分析工具
    本文详细介绍如何在PyCharm中配置和使用Pylint,帮助开发者进行静态代码检查,确保代码符合PEP8规范,提高代码质量。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
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社区 版权所有