热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python删除断点_给Python开发者的四条忠告!|CSDN博文精选

作者|天元浪子责编|屠敏出品|CSDN博客不要纠结于开发工具的选择,简单直接就是最好的学习一种编程语言,首先要找一款合用的集成开发工具,似
b6f4e0294e5a02f01e3f55f76992a22c.png

作者 | 天元浪子

责编 | 屠敏

出品 | CSDN博客

9107e7cc1c5bfe40078ade76b2a2a2d2.png

不要纠结于开发工具的选择,简单直接就是最好的

学习一种编程语言,首先要找一款合用的集成开发工具,似乎是自然而然的想法。为什么不呢?IDE可以自动补齐,可以一键运行,还可以断点调试。使用IDE开发项目,就像驾驶一辆内饰豪华的汽车,尽情享受驾驶的乐趣就好了,谁还去关心引擎盖里面发动机是如何工作的呢?我的年轻同事们也都是IDE的拥趸,最初使用pycharm,后来是时下大热的vscode。

可是,我始终认为,编程就像是驾驶,程序员就是司机,而且是职业司机,不是把驾驶当成通勤技能的各色白领金领。既然是职业司机,就不能满足于打着领结、戴着白手套驾驶内饰豪华、配置高端的汽车,而是必须具备打开引擎盖子维修和保养的能力。

基于这个观点,我不建议初学者一开始就使用集成开发工具。对于python这样一种解释型的脚本语言,一款趁手的编辑器就足够了。linux平台上,vim或者emacs都足够好(如果你通晓二者或者其中之一的话,请接受我的敬意);windows平台上,我推荐使用notepad++。python初学者使用编辑器而非IDE的好处是:

  1. 专注于python本身,而不是被工具使用问题所困扰。君不见,知乎上关于pycharm和vscode的使用说明、常见问题的解决方案,多得几乎超过了讨论python本身

  2. 手工运行代码,可以更直观、更深刻地了解脚本的解释执行过程

  3. 手工调试代码,有助于代码优化,提高代码把控能力

  4. 可以更好地使用pip安装和管理第三方模块

4cbac57b892ca5d50a11749ba6d0bb21.png

习惯使用IDLE,这是学习python最好的方式

解释型语言的优势,就是可以写一句执行一句,想到哪儿写到哪儿,不必像编译型语言那样得把程序全部写完,编译成功后才能运行。我特别喜欢使用python的IDLE,甚至拿它当计算器用。很多时候,我用IDLE验证代码的写法是否正确,查看模块是否安装成功以及版本号。IDLE支持tab键自动补齐,我经常用这个功能查看某个对象的方法和属性。

>>> import numpy as np
>>> np.__version__
'1.17.0'
>>> np.hypot(3,4)
5.0
>>> deffactorial(n): # 计算n的阶乘
if n == 0: # 递归出口
return 1
return n*factorial(n-1) # 向递归出口方向靠近的自身调用

>>> factorial(5)
120
>>> _*2-100
140

小技巧:

  1. tab键自动补齐

  2. 光标移动到执行过的语句上敲击回车,可以重复这个命令

  3. 下划线(_)可以获取最后一次执行结果

3661acba27ff5360ae2df99d67aa8485.png

关于Python,你不是懂得太少,而是知道得太多了

很多 python 初学者热衷于观看各种网络教程、视频教程,甚至还做了很多笔记。经过了长时间的学习之后,发现自己还是无法驾驭python。在我看来,出现这个问题的原因,不是因为他们懂得太少,而是知道得太多了——准确说,是在初级阶段学习了高级阶段的课程。

学习是一个循序渐进的过程,而编程又一门实践性很强的艺术,因此学习编程需要不断地重复“学习-实践”。不要认为跟着教程敲几行代码就叫实践,那还是学习的过程。真正的实践,就是写一个让自己满意的代码,实现一个独立的功能。比如,初学者可以实现从一个文本文件读出内容,做些特别处理,再写入另一个文件,或者写一些算法函数等。有一定基础之后,可以写一个socketserver,或者写个小游戏。下图是我学习wxpython时给自己确定的实践目标。类似的,初学者应该可以想到更多。

857e73473d048b72b258e274bd3cb003.png88cd76d1ca073468f3a74ae3b39f5c0b.png

pip已经近乎完美,但你未必完全了解

在python语言的发展过程中,安装和管理第三方模块的方法也历经变化。现在,我们终于等来了pip这个近乎完美的工具。pip除了安装(install)和删除(uninstall)这两大功能,还可以指定模块的安装版本(无需预先删除当前已安装版本),可以显示所有已安装的模块,还可以通过upgrade自主升级。

# 安装numpy模块
PS D:XufiveGitwxgl> pip install numpy

# 如果同时安装了py2和py3环境的话,需要这样使用pip
PS D:XufiveGitwxgl> py -3 -m pip install numpy

# 删除numpy模块
PS D:XufiveGitwxgl> py -3 -m pip uninstall numpy

# 安装numpy模块,指定版本1.15.0
PS D:XufiveGitwxgl> py -3 -m pip install numpy=1.15.0

# 自主升级
PS D:XufiveGitwxgl> py -3 -m pip install --upgrade pip

# 显示已安装的模块
PS D:XufiveGitwxgl> py -3 -m pip list
Package Version
----------------- -----------
-pencv-python 4.1.1
argh 0.26.2
attrs 19.1.0
Automat 0.7.0
basemap 1.2.0
beautifulsoup4 4.6.3
bleach 3.1.0
cefpython3 66.0
... ...

pip也用来安装本地whl文件:

PS D:PyPackagepy3> py -3 -m pip install .basemap-1.2.0-cp37-cp37m-win_amd64.whl

如果你需要下载python模块,这里是我见过的最全、最稳定的python模块仓库,由加州大学欧文分校荧光动力学实验室创建并维护。

如果你的很多个项目中,都会用到你自己的某些模块,那么,把这些模块做成安装包,安装到你的开发环境里,可能是最佳选择。拙作《学习笔记:发布自己的python模块安装包》(https://blog.csdn.net/xufive/article/details/88640229)对此有详细说明。

版权声明:本文为CSDN博主「天元浪子」的原创文章。

想为博主点赞?

想要请教博主?

609fa6f3a677f21029c7e2e85b6fafb0.png


推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 在学习网页爬虫时,使用Selenium进行自动化操作。初次安装selenium模块后,第二天运行代码时遇到了ImportError:无法从'selenium'导入名称'webdriver'。本文将详细解释该问题的原因及解决方案。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
author-avatar
手机用户2502870863
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有