pyhcarm github
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的更多相关文章
- 搜刮一些开源项目的APP
iOS完整App资源收集 <iOS完整app资源收集> <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...
- 【原】Github+Hexo+NextT搭建个人博客
摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是Github为 ...
- TODO:GitHub创建组织的步骤
TODO:GitHub创建组织的步骤 使用GitHub进行团队合作,写这个步骤主要作用是为了OneTODO作为一个团队组织进行代码的分享,让更多人来参与. 使用帐号.密码登录GitHub 2.右上角加 ...
- GitHub实战系列汇总篇
基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...
- 清空Github上某个文件的历史版本
title: 清空Github上某个文件的历史版本 author: 青南 date: 2015-01-08 16:04:53 categories: [经验] tags: [Github,histor ...
- 预览github里面的网页或dome
1.问题所在: 之前把项目提交到github都可以在路径前面加上http://htmlpreview.github.io/?来预览demo,最近发现这种方式预览的时候加载不出来css,js(原因不详) ...
- python爬取github数据
爬虫流程 在上周写完用scrapy爬去知乎用户信息的爬虫之后,github上star个数一下就在公司小组内部排的上名次了,我还信誓旦旦的跟上级吹牛皮说如果再写一个,都不好意思和你再提star了,怕你们 ...
- gitHub使用入门和github for windows的安装教程
在看这篇教程之前我想大家也在搜索怎样使用gitHub托管自己的项目,在使用gitHub之前我也遇到过各种问题,在网上我也搜索了很多,但总觉得网上搜索到的东西很多很杂,有的根本不知道是在表达什么.在这过 ...
- 【项目管理】GitHub使用操作指南
GitHub使用操作指南 作者:白宁超 2016年10月5日18:51:03> 摘要:GitHub的是版本控制和协作代码托管平台,它可以让你和其他人的项目从任何地方合作.相对于CVS和SVN的联 ...
随机推荐
- Java——RMI
之前分布式系统调用用的是比较老的EJB,当时还是作为服务调用方,去调用别的系统的服务.最近发现新公司里面,用的是RMI,查了下发现EJB的底层实现就是RMI,也算是熟悉了... 一,使用JDK 中的R ...
- IIC通讯程序
IIC程序 IIC起始信号 void IIC_Start(void) { SDA_OUT();//sda设为输出 IIC_SDA=; IIC_SCL=; delay_us();//延时一段时间,具体时 ...
- NO--09今天遇到的一点小问题之axios全局注册
今天用 Vue 写项目的时候,用到 axios ,因为 axios 不能用 Vue.use() ,所以在每个 .vue 文件中使用 axios 时就需要 import , .vue 文件少的话还好说, ...
- 433. Number of Islands【LintCode java】
Description Given a boolean 2D matrix, 0 is represented as the sea, 1 is represented as the island. ...
- 排查GCC 4.4.X版本优化switch-enum的BUG
起因 一次偶然碰到一个诡异的bug,现象是同一份C++代码使用GCC4.4.x版本在开启优化前和优化后的结果不一样,优化后的代码逻辑不正确. 示例代码如下: //main.cpp #include & ...
- AirSim的搭建和使用
由于自己使用设备拍摄的数据质量太差,所以决定使用AirSim这个框架来生成数据.之所以使用这个框架,是因为之前同事用其生成了一些有效数据. 当然,我是不可能把我搭建的步骤一一写出来的,一来是因为太麻烦 ...
- [Ubuntu] sogou中文输入法安装
I install sogou 中文输入法 successfully, after following below steps: 1. install sogou pingyin by deb pac ...
- 20162328蔡文琛 Bag类
在刚刚开始着手这个作业时,想的是使用for循环来自己写出add等方法来,但是在看过API后知道了Arraylist这个java已有的列表类,于是就只用ArrayList的方法很快的就做了出来.在进行B ...
- oracle selinux 问题
Error: cannot restore segment prot after reloc: Permission Denied http://www.oracledistilled.com/ora ...
- oracle数据库 expdp/impdp 和 exp/imp
--EXPDP导出,需要系统用户权限,一般不使用--sqlplus--1.创建dmp导出逻辑目录 create directory 目录名 as '目录路径' create directory exp ...