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


推荐阅读
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 本文详细介绍了如何在PHP中进行数组删除、清空等操作,并提供了在Visual Studio Code中创建PHP文件的步骤。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 对于许多初学者而言,遇到总线错误(bus error)或段错误(segmentation fault/core dump)是极其令人困扰的。本文详细探讨了这两种错误的成因、表现形式及解决方法,并提供了实用的调试技巧。 ... [详细]
  • 本文详细介绍了C语言中的基本数据类型,包括整型、浮点型、字符型及其各自的子类型,并探讨了这些类型在不同编译环境下的表现。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
  • 本文详细解析了Java中throw和throws的关键区别,同时涵盖了JDK的定义、Java虚拟机的关键约定、Java的跨平台性、自动垃圾回收机制、源文件结构、包的概念及作用等多个核心知识点,旨在帮助学生更好地准备Java期末考试。 ... [详细]
  • 新手指南:在Windows 10上搭建深度学习与PyTorch开发环境
    本文详细记录了一名新手在Windows 10操作系统上搭建深度学习环境的过程,包括安装必要的软件和配置环境变量等步骤,旨在帮助同样初入该领域的读者避免常见的错误。 ... [详细]
  • 解决PyCharm安装第三方库失败问题
    本文详细探讨了在使用Python 3.9.7和pip 22.3.1时,通过PyCharm安装第三方库遇到的问题及解决方法。即使更换了国内镜像源也未能解决问题,文章将介绍具体原因及有效解决方案。 ... [详细]
  • 本文详细介绍了在Windows系统中安装PyCharm集成开发环境以及MySQL数据库的具体步骤,包括必要的环境配置和常见问题的解决方法。 ... [详细]
  • 本文介绍了如何在配置了virtualenv和virtualenvwrapper环境后,利用PyCharm创建新的Django项目,并将开发数据库从SQLite切换至更适用于生产环境的MySQL数据库。文章详细记录了尝试使用MySQLdb、MySQL自带Connector及pymysql等不同数据库连接库时遇到的问题及解决办法。 ... [详细]
  • 处理Pandas读取Excel文件时遇到的 'xlsx' 格式不支持错误
    本文探讨了在使用Pandas库读取Excel文件时,在PyCharm中遇到的'xlsx'文件格式不支持的问题,并提供了解决方案。 ... [详细]
  • Python3兼容性提升:Robot Framework与RIDE的最新进展
    本文介绍了Robot Framework,一个基于Python的自动化测试框架,以及其配套IDE RIDE的最新更新。随着Python3的广泛采用,RIDE终于实现了对Python3的支持,这为Robot Framework的用户带来了福音。 ... [详细]
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社区 版权所有