Python——优缺点/代码守则/运算符/书籍推荐

本文探讨了Python编程语言的显著优点,包括其简洁性、易学性、开源特性及跨平台能力,并分析了其执行效率、代码安全性等方面的局限性。同时,详细介绍了Python的代码规范,如命名约定、导入语句的组织方式等,以及推荐的Python学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python的优缺点

Python的优点很多,简单的可以总结为以下几点。

  • 简单和明确,做一件事只有一种方法。
  • 学习曲线低,跟其他很多语言相比,Python更容易上手。
  • 开放源代码,拥有强大的社区和生态圈。
  • 解释型语言,天生具有平台可移植性。
  • 支持两种主流的编程范式(面向对象编程和函数式编程)都提供了支持。
  • 可扩展性和可嵌入性,可以调用C/C++代码,也可以在C/C++中调用Python。
  • 代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。

Python的缺点主要集中在以下几点。

  • 执行效率稍低,因此计算密集型任务可以由C/C++编写。
  • 代码无法加密,但是现在很多公司都不销售卖软件而是销售服务,这个问题会被淡化。
  • 在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。

Python代码守则

  • 变量、函数和属性应该使用小写字母来拼写,如果有多个单词就使用下划线进行连接。

  • 类中受保护的实例属性,应该以一个下划线开头。

  • 类中私有的实例属性,应该以两个下划线开头。

  • 类和异常的命名,应该每个单词首字母大写。

  • 模块级别的常量,应该采用全大写字母,如果有多个单词就用下划线进行连接。

  • 类的实例方法,应该把第一个参数命名为self以表示对象自身。

  • 类的类方法,应该把第一个参数命名为cls以表示该类自身。

  • 采用内联形式的否定词,而不要把否定词放在整个表达式的前面。例如if a is not b就比if not a is b更容易让人理解。

  • 不要用检查长度的方式来判断字符串、列表等是否为None或者没有元素,应该用if not x这样的写法来检查它。

  • 就算if分支、for循环、except异常捕获等中只有一行代码,也不要将代码和if、for、except等写在一起,分开写才会让代码更清晰。

  • import语句总是放在文件开头的地方。

  • 引入模块的时候,from math import sqrt比import math更好。

  • 如果有多个import语句,应该将其分为三部分,从上到下分别是Python标准模块、第三方模块和自定义模块,每个部分内部应该按照模块名称的字母表顺序来排列。


运算符

在这里插入图片描述


进制

二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)


书籍推荐

  • 入门读物

《Python基础教程》(Beginning Python From Novice to Professional)
《Python学习手册》(Learning Python)
《Python编程》(Programming Python)
《Python Cookbook》
《Python程序设计》(Python Programming: An Introduction to Computer Science)
《Modern Python Cookbook》

  • 进阶读物

《Python核心编程》(Core Python Applications Programming)
《流畅的Python》(Fluent Python)
《Effective Python:编写高质量Python代码的59个有效方法》(Effective Python 59 Specific Ways to Write Better Python)
《Python设计模式》(Learning Python Design Patterns)
《Python高级编程》(Expert Python Programming)
《Python性能分析与优化》(Mastering Python High Performance)

  • Web框架

《Django基础教程》(Tango with Django)
《轻量级Django》(Lightweight Django)
《Python Web开发:测试驱动方法》(Test-Driven Development with Python)
《Web Development with Django Cookbook》
《Test-Driven Development with Django》
《Django Project Blueprints 》
《Flask Web开发:基于Python的Web应用开发实战》(Flask Web Development: Developing Web Applications with Python)
《深入理解Flask》(Mastering Flask)

  • 爬虫开发

《用Python写网络爬虫》(Web Scraping with Python)
《精通Python爬虫框架Scrapy》(Learning Scrapy)
《Python网络数据采集》(Web Scraping with Python)
《Python爬虫开发与项目实战》
《Python 3网络爬虫开发实战》

  • 数据分析

《利用Python进行数据分析》(Python for Data Analysis)
《Python数据科学手册》(Python Data Science Handbook)
《Python金融大数据分析》(Python for Finance)
《Python数据可视化编程实战》(Python Data Visualization Cookbook)
《Python数据处理》(Data Wrangling with Python)

  • 机器学习

《Python机器学习基础教程》(Introduction to Machine Learning with Python)
《Python机器学习实践指南》(Python Machine Learning Blueprints)
《Python Machine Learning Case Studies》
《Python机器学习实践:测试驱动的开发方法》(Thoughtful Machine Learning with Python A Test Driven Approach)
《Python机器学习经典实例》(Python Machine Learning Cookbook)
《TensorFlow:实战Google深度学习框架》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值