0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python版本之争 Python编程规范以及优化建议

454398 来源:CSDN 作者:huyr830 2020-12-28 16:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:huyr830

下是看书归纳所写。

Python语言介绍:
1. Python是一门跨平台、开源、免费的解释型高级动态编程语言。
2. Python支持命令式编程(How to do)、函数式编程(What to do),完全支持面向对象程序设计,拥有大量扩展库。
3. Python也被誉为胶水语言。

胶水语言:可以把多种不同语言编写的程序融合到一起实现无缝拼接,更好地发挥不同语言和工具的优势,满足不同应用领域的需求。

Python版本之争:

Python目前存在2.x和3.x两个系列的版本,互相之间不兼容。在选择Python版本的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,该领域或方向有哪些扩展库可用,这些扩展库最高支持哪个版本的Python。这些问题全部确定以后,再最终确定选择哪个版本。

Python 2.x系列最迟将于2020年全面放弃维护和更新。

Python编程规范以及优化建议:

(1)缩进

  • 类定义、函数定义、选择结构、循环结构、with块,行尾的冒号表示缩进的开始。
  • python程序是依靠代码块的缩进来体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。
  • 同一个级别的代码块的缩进量必须相同。
  • 一般而言,以4个空格为基本缩进单位。

(2)每个import语句只导入一个模块,最好按标准库、扩展库、自定义库的顺序依次导入。

(3)最好在每个类、函数定义和一段完整的功能代码之后增加一个空行,在运算符两侧各增加一个空格,逗号后面增加一个空格。

(4)尽量不要写过长的语句。如果语句过长,可以考虑拆分成多个短一些的语句,以保证代码具有较好的可读性。如果语句确实太长而超过屏幕宽度,最好使用续行符(line continuation character)“/”,或者使用圆括号将多行代码括起来表示是一条语句。

(5)虽然Python运算符有明确的优先级,但对于复杂的表达式建议在适当的位置使用括号使得各种运算的隶属关系和顺序更加明确、清晰。

(6)注释

  • 以#开始,表示本行#之后的内容为注释。
  • 包含在一对三引号'''...'''或"""..."""之间且不属于任何语句的内容将被解释器

(7)在开发速度和运行速度之间尽量取得最佳平衡。

  • 内置对象运行速度最快,标准库对象次之,用C或Fortran编写的扩展库速度也比较快,而纯Python的扩展库往往速度慢一些。
  • 在开发项目时,应优先使用Python内置对象,其次考虑使用Python标准库提供的对象,最后考虑使用第三方扩展库。

(8)根据运算特点选择最合适的数据类型来提高程序的运行效率。

  • 如果定义一些数据只是用来频繁遍历,最好优先考虑元组或集合。
  • 如果需要频繁地测试一个元素是否存在于一个序列中并且不关心其位置,尽量采用字典或者集合。
  • 列表和元组的in操作的时间复杂度是线性的,而对于集合和字典却是常数级的,与问题规模几乎无关。

(9)充分利用关系运算符以及逻辑运算符and和or的惰性求值特点,合理组织条件表达式中多个条件的先后顺序,减少不必要的计算。
(10)充分利用生成器对象或类似迭代对象的惰性计算特点,尽量避免将其转换为列表、元组等类型,这样可以减少对内存的占用,降低空间复杂度。
(11)减少内循环中的无关计算,尽量往外层提取。

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    57

    文章

    4860

    浏览量

    89647
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    没有专利的opencv-python 版本

    所有 官方发布的 opencv-python 核心版本(无 contrib 扩展)都无专利风险——专利问题仅存在于 opencv-contrib-python 扩展模块中的少数算法(如早期 SIFT
    发表于 12-13 12:37

    Python中借助NVIDIA CUDA Tile简化GPU编程

    NVIDIA CUDA 13.1 版本新增了基于 Tile 的GPU 编程模式。它是自 CUDA 发明以来 GPU 编程最核心的更新之一。借助 GPU tile kernels,可以用比 SIMT
    的头像 发表于 12-13 10:12 579次阅读
    在<b class='flag-5'>Python</b>中借助NVIDIA CUDA Tile简化GPU<b class='flag-5'>编程</b>

    LABVIEW 2023 Q1调用python后一直报错1671

    程序后续重新下载python,将python版本改为3.6.0(32位,同labview版本Python 3.6.0 (v3.6.0:41
    发表于 11-12 09:51

    Python调用API教程

    随着互联网技术的发展,API(Application Programming Interface)的应用越来越广泛。API是指一系列预先定义好的接口,用于以标准化的形式、规范的方式、安全高效地完成
    的头像 发表于 11-03 09:15 355次阅读

    termux调试python猜数字游戏

    特性 - ✅ 智能范围提示(太大/太小) - ✅ 尝试次数计数器 - ✅ 错误输入防护 - ✅ 移动端友好界面 --- ? 四、进阶优化建议 ```python 可扩展功能(在现有代码中添加
    发表于 08-29 17:15

    termux如何搭建python游戏

    用VS Code编辑 - 版本控制:`git`管理代码,同步至GitHub/Gitee - 任务调度:通过`crontab`设置定时测试(如每分钟运行游戏脚本:`*/1 * * * * python
    发表于 08-29 07:06

    跟老齐学Python:从入门到精通

    本帖最后由 yuu_cool 于 2025-6-3 16:52 编辑 本资料是面向编程零基础读者的Python 入门教程,内容涵盖了Python 的基础知识和初步应用。以比较轻快的风格,向零基
    发表于 06-03 16:10

    python入门圣经-高清电子书(建议下载)

    此资料内容是一本针对所有层次的Python 读者而作的Python 入门电子书。 全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumP
    发表于 04-10 16:53

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是
    的头像 发表于 03-25 09:27 1568次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    使用Python3.7导入cv2时遇到错误怎么解决?

    使用 Python* 版本 3.7。 Ran Classification Python* 演示。 在导入 cv2 时遇到错误: ImportError: DLL load failed: The specified modu
    发表于 03-05 09:37

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    Python Connector for InterBase连接解决方案

    ,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全符合 Python DB API 2.0 规范,并作为 Windows、macOS 和 Linux 的 wheel 包分发。 特征 高性能
    的头像 发表于 01-22 14:34 731次阅读

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2255次阅读

    适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据库

    和 MariaDB 数据库服务器以及托管数据库服务,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全实现了 Python DB API 2.0 规范,并作为 Windows、macOS
    的头像 发表于 01-17 12:18 858次阅读
    适用于MySQL和MariaDB的<b class='flag-5'>Python</b>连接器:可靠的MySQL数据连接器和数据库

    适用于Oracle的Python连接器:可访问托管以及非托管的数据库

    ,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全实现了 Python DB API 2.0 规范,并作为 Windows、macOS 和 Linux 的 wheel 包分发。 特征
    的头像 发表于 01-14 10:30 757次阅读