1、主题

  介绍如何用Pycharm实打实的创建、运行、调试程序。

  2、准备工作

  Pycharm版本为2.7或者更高。

  至少安装一个Python解释器,2.4到3.3均可

  3、下载安装Pycharm 

  下载地址:this page

  4、启动PyCharm

  双击快捷方式(windows中为pycharm.exe或者 pycharm.bat;MacOS and Linux为pycharm.sh),进入欢迎界面Welcome screen

  5、创建一个简单工程

  单击Create New Project链接,进入创建工程对话框,进行相关工程设置。

  当然,也可以通过主菜单命令File → New Project来随时创建新的工程:

  首先为工程命名,这里命名为MySimplePythonApplication。然后更改工程位置,既可以使用默认的位置,也可以通过单击浏览按钮来指定。

  接下来选择工程类型,Pycharm预设了若干类型模板(Django, Google AppEngine等等),并默认创建相关文件。

  这里我们选择Empty project类型(比较适合简单的Python工程),不需要Pycharm预设任何文件。

  最后,指定Python解释器,在下拉列表中选择即可。

  单击OK按钮,工程创建完毕。

  6、浏览工程目录结构

  初始工程目录 (Project tool window中)如下:

  此时只存在工程根目录以及定义了Python解释器的External Libraries目录。

  单击主工具栏的按钮,选择Project Structure页,查看详细工程目录信息:

  在工程根目录下的idea目录下存放了MySimplePythonApplication.iml文件,用以记录当前的工程结构;目录下还有若干XML文件,保存着相关的配置信息。idea目录在Project tool window窗口中是不可见的。

  接下来向根目录中添加工作目录。在Project Structure页,右击工程根目录,选择New Folder:

  输入目录名称:

  最后,将该目录标记问源文件根目录:选择src目录,单击,标记完成。

  单击OK,关闭设置对话框。

  当然添加目录的方式并不是唯一的,也可以直接在工程根目录下创建Python文件,此时工程目录被默认为源文件根目录。

  7、创建Python类

  在 project tool window窗口中选择src目录,按下Alt+Insert:

  选择Python file,输入名称(Solver):

  类创建完成,打开编辑:

  8、编辑源码

  首先,文件中有两行默认生成的代码:

  这是Pycharm根据模板 file template生成的,并自动替换了形式变量$PROJECT_NAME和$USER。

  接下来我们编写一个求解二次方程的小程序。

  在编写代码的过程中Pycharm会提供各种各样的提示帮助,例如在创建类时,只需输入关键字,则会弹出提示列表:

  选择关键字class,输入类名(Solver),Pycharm会提示你继续输入:

  此时右槽会显示错误标记,鼠标悬停在上方时会给出错误提示。右槽顶部的指示灯标记了当前的代码检查状体,绿色代表一切正常,黄色代表有警告,红色代表有错误。

  继续创建“demo”成员函数,体会Pycharm代码的自动补全功能:

  继续输入,未用到的变量以灰色显示:

  接下来计算判别式,用到了math模块,由于尚未导入,Pycharm会报错(红色波浪线和红色灯泡)。

  红色灯泡的使用机制参见intention actions and quick fixes,格式问题为黄色灯泡,出现错误即为红色灯泡。

  按下Alt+Enter查看Pycharm给出的提示:

  选择导入math库,然后晚上Solver类中的demo函数,计算判别式:

  按下Ctrl+Shift+F10运行脚本文件,出现一个控制台,输入a、b、c的值,发现Pycharm遇到一个错误:

  这里是当d(判别式)为负数时,程序报错。为了避免这种情况,加入判断语句Ctrl+Alt+T(Code→Surround with):

  Pycharm会自动创建一个if语句结构。最后如果你希望多次执行该程序,需要再在外层嵌套一个while循环,代码最终效果如下:

  接下来,准备调试。

  9、运行程序

  三种运行脚本文件的方式:

  (1)Ctrl+Shift+F10快捷键

  (2)使用快捷菜单选项

  

  (3)使用主菜单的运行按钮

  查看运行结果:

  10、运行/调试相关配置

  每个脚本文件在运行和调试时都按照指定的配置文件的规定( run/debug configuration)执行,包括脚本名称、工作目录、预处理等等。

  Pycharm已经预设了若干中常规的配置文件类型(针对Python scripts, Django applications, tests,等等),可以在Run/Debug Configurations dialog对话框中浏览这些配置。可以通过Run→Edit Configurations...命令或者单击主工具栏Run区域的下拉列表来打开这个对话框:

  详细查看Edit Configurations对话框,其包含两个主要部分:Python 和 Default

  default run/debug列表下的内容是默认的配置信息,他们没有具体名字,但会根据类型自动加载使用。

  上方名为Python的节点只包含一个灰色显示的配置文件Solver。它是一个临时配置文件 temporary profile,是Pycharm创建的缺省配置 default configuration of the Python type

  你可以永久保存你的配置文件,数量不限。

  11、调试程序

  调试之前先设断点breakpoints,单击左槽即可:

  然后右击编辑区域,选择Debug 'Solver':

  显示 Debug tool window窗口,调试开始,调试窗口的默认布局如下:

  这里显示了框架、变量、控制台灯。当然如果你希望控制台一直可见的话,将其拖动到指定区域即可:

  使用stepping toolbar buttons来单步调试:

  命中断点,对应行变蓝:

  12、导航功能初探

  假如你编程过程中中途中断,回来时不知道该从哪里继续开始,这就用到一个重要的导航功能:跳转到最后编辑位置。按下Ctrl+Shift+Backspace即可。

  快速查看符号定义,例如将光标定位在sqrt的调用处,按下Ctrl+B,Pycharm会跳转到math.py的指定定义位置:

  快速查找符号、类、文件。按下Ctrl+Alt+Shift+N,输入名称即可:

  更多详情参见here

  13、代码重构

  假如你更改了一个函数demo的名称,理论上对其所有的调用都需要进行更改,这里Pycharm提供了代码重构功能。

  按下Shift+F6,在对话框中输入新名称:

  单击Refactor,在Find tool window显示查找结果:

  单击Do Refacto按钮完成替换:

  当然我们还可以做更多改变,例如移动文件位置、改变函数的参数结构、提取变量等。这些都属于各种各样的重构。

pyhcarm github的更多相关文章

  1. 搜刮一些开源项目的APP

    iOS完整App资源收集 <iOS完整app资源收集>  <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...

  2. 【原】Github+Hexo+NextT搭建个人博客

    摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是Github为 ...

  3. TODO:GitHub创建组织的步骤

    TODO:GitHub创建组织的步骤 使用GitHub进行团队合作,写这个步骤主要作用是为了OneTODO作为一个团队组织进行代码的分享,让更多人来参与. 使用帐号.密码登录GitHub 2.右上角加 ...

  4. GitHub实战系列汇总篇

    基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...

  5. 清空Github上某个文件的历史版本

    title: 清空Github上某个文件的历史版本 author: 青南 date: 2015-01-08 16:04:53 categories: [经验] tags: [Github,histor ...

  6. 预览github里面的网页或dome

    1.问题所在: 之前把项目提交到github都可以在路径前面加上http://htmlpreview.github.io/?来预览demo,最近发现这种方式预览的时候加载不出来css,js(原因不详) ...

  7. python爬取github数据

    爬虫流程 在上周写完用scrapy爬去知乎用户信息的爬虫之后,github上star个数一下就在公司小组内部排的上名次了,我还信誓旦旦的跟上级吹牛皮说如果再写一个,都不好意思和你再提star了,怕你们 ...

  8. gitHub使用入门和github for windows的安装教程

    在看这篇教程之前我想大家也在搜索怎样使用gitHub托管自己的项目,在使用gitHub之前我也遇到过各种问题,在网上我也搜索了很多,但总觉得网上搜索到的东西很多很杂,有的根本不知道是在表达什么.在这过 ...

  9. 【项目管理】GitHub使用操作指南

    GitHub使用操作指南 作者:白宁超 2016年10月5日18:51:03> 摘要:GitHub的是版本控制和协作代码托管平台,它可以让你和其他人的项目从任何地方合作.相对于CVS和SVN的联 ...

随机推荐

  1. 带偏移量的AES加密工具

    自定义的一个对称加密工具类AESUtil.java public static final String ENCRYPTION_ALGORITHM = "AES"; public ...

  2. [SDOI2010]地精部落 DP

    LG传送门 DP好题 题意很简单,就是求1-n的排列,满足一个数两边的数要么都比它大要么都比它小,求这样的排列个数对\(p\)取膜的值(为了表述简单,我们称这样的排列为波动序列). 这个题我第一眼看到 ...

  3. luogu 2051 [AHOI2009]中国象棋

    luogu 2051 [AHOI2009]中国象棋 真是一道令人愉♂悦丧心并框的好题... 首先"没有一个炮可以攻击到另一个炮"有个充分条件就是没有三个炮在同一行或同一列.证明:显 ...

  4. Linux系统基础网络配置老鸟精华篇

    对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太多的初学者徘徊在门外就不奇怪了,这里,老男孩老师花了一些时间总结了这个文档小结,也还不够完善,欢迎大家补充,交流.谢 ...

  5. 08-base镜像

    base 镜像有两层含义: 不依赖其他镜像,从 scratch 构建. 其他镜像可以之为基础进行扩展. 所以,能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ub ...

  6. 33.[LeetCode] Search in Rotated Sorted Array

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...

  7. asp.net 设计条码code 11的问题

    前一段时间思考了一些条码生成的问题,其实条码也可以说是加密的文件显示. 一个条码首先要有规定 比如code 11 又 1234567890 - 这11个字符组成 而1 又用 5码 表示 "1 ...

  8. call appiy

    其实就是动态的改变this了,下面例子就说明了... function add(a, b){ console.dir(this); } function sub(a, b){ console.dir( ...

  9. Farm Irrigation ZOJ 2412(DFS连通图)

    Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a lot ...

  10. 互评Alpha版本——可以低头,但没必要——取件帮

    基于NABCD评论作品,及改进建议: 1.根据(不限于)NABCD评论作品的选题 (1)N(Need,需求) 随着电商平台的发展,越来越多的人选择网购,但是东师的一部分快递网点不在校内,需要走很长的一 ...