扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
python的缩进语法是python的众多特点之一
10年积累的成都做网站、成都网站制作、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有武城免费网站建设让你可以放心的选择与我们合作。
关于python的语法缩进可以使用tab键或者官方更推荐的四个空格,如
if a == 1:
print "a is 1!"
else:
print "a is not 1!"
希望能帮到你
sublime有这样的功能的,你看菜单 edit - code folding
按ctrl + k,然后按ctrl + 1,可收起所有函数
按ctrl + k, 再按 ctrl + j 显示所有函数
你也可以 ctrl + k,ctrl + 2 (这个数字可以变的,表示收起的函数的级数,你试试就明白了)
希望对你有用。
开始
首先,看下wingIDE的界面:
wingIDE的用户界面主要由三部分构成:编辑区、两个工具区。每个区域都有自己独立的菜单选项。编辑和切换按钮可以实现对文档的快速切换。
SHIFT +F2可以使编辑区最大化
2.检测你的python集成环境是否正确
在开始编辑代码前,我们需要首先确定wingIDE已经准确的找到了python安装程序。为了检查,我们需要用到Python Shell tool。
在横着的工具栏上右键---Insert tool--python shell,你将看到如下:
如果它的显示不对,或者显示的python版本不对。我们可以使用Project----project properties来指定environment。指定python的运行环境等信息。
现在,你可以在python shell中运行一些实例来判断python是否正确了。
3.建立一个工程
(1)现在要开始编码了。Project----New Project 创建新项目。
注意,在新建项目的时候,会关闭现在的文档。
(2)为项目添加文件
在项目的空部分右键,然后选择相关选项。可以添加已经存在的文件和文件夹,也可以添加新的文件和文件夹。最后保存项目。将.wpr文件保存为你的项目的名称。
在编辑区的右上角,有这么一个小按钮,可以再圆形和大头针之间切换。
圆形代表文件将一直保持打开状态知道你明确的关闭它。
大头针代表文件如果没有被编辑过的话,那么它将有可能自行关闭。
4.设置python的属性
我们可以设置python的搜索路径,如下图:
5.编辑区的使用
编辑区有两个最重要的辅助工具:代码自动提示和源代码分析工具
代码自动提示:可以再尚未输入所有代码的时候提示可能代码
源码分析工具:帮助我们分析我们自己编写的代码
打开源码分析工具:工具栏右键---insert tool ----source Assistant
tab键默认选择第一个提示行。
如果缩进出了问题,那么wingIDE将会在有问题的行的下方显示一条红色的波浪线,修改后就消失了。
6.调试的使用
在每行的最前面单击左键就可以添加断点了。然后按下绿色的箭头来启动调试。wing会停在断点处,并显示调试的参数信息。
我们可以再stack Data工具上面检查程序的状态
DEBUG I/O 是我们和程序进行沟通的一个地方,和命令行相同。
7.Exceptions工具
当我们的程序出错的时候,这个工具可以显示错误的详细信息。
8.debug probe
当程序暂停运行的时候,我们可以使用Debug Probe来对程序进行一些操作。而且,它包含了程序执行到现在的stack的信息。
9.watch
在调试的时候,我们可以使用它来查看程序的数据,只需要输入你想看的变量的名字即可。
最近刚好写了一个python的折叠功能。 能简单。 是基于emacs自带的python mode。可以支持各种类型的block (如if, for等)。
关键是: mypython-fold/unfold-block。 我把它绑到了F10. 可以自己改。 其他都只是些支持代码。
(defface codepilot-folding-overlay
'((default (:inherit region :box (:line-width 1 :color "DarkSeaGreen1" :style released-button)))
(((class color)) (:background "DarkSeaGreen2" :foreground "black")))
"*Font used by folding overlay."
:group 'codepilot)
(defun cptree-ov-delete ()
(interactive)
(dolist (o (overlays-at (point)))
(cptree-delete-overlay o 'cptree)))
(defvar cptree--overlay-keymap nil "keymap for folding overlay")
(unless cptree--overlay-keymap
(let ((map (make-sparse-keymap)))
(define-key map [mouse-1] 'cptree-ov-delete)
(define-key map "\r" 'cptree-ov-delete)
(setq cptree--overlay-keymap map)))
(defun cptree-delete-overlay(o prop)
(when (eq (overlay-get o 'cptree-tag) prop)
(delete-overlay o)
t))
(defun cptree-hide-region (from to prop)
"Hides a region by making an invisible overlay over it and save the
overlay on the hide-region-overlays \"ring\""
(interactive)
(let ((new-overlay (make-overlay from to)))
;;(overlay-put new-overlay 'invisible nil)
(overlay-put new-overlay 'cptree-tag prop)
(overlay-put new-overlay 'face 'codepilot-folding-overlay)
(overlay-put new-overlay 'display
(propertize
(format "...%d lines..."
(1- (count-lines (overlay-start new-overlay)
(overlay-end new-overlay))))))
(overlay-put new-overlay 'priority (- 0 from))
(overlay-put new-overlay 'keymap cptree--overlay-keymap)
(overlay-put new-overlay 'pointer 'hand)))
(require 'python)
(defun mypython-fold/unfold-block ()
"fold the block"
(interactive)
(let (ret b e)
(dolist (o (overlays-at (if (python-open-block-statement-p)
(save-excursion
(python-end-of-statement)
(point)
)
(point))))
(when (cptree-delete-overlay o 'cptree)
(setq ret t)))
(unless ret
(save-excursion
(unless (python-open-block-statement-p)
(python-beginning-of-block))
(python-end-of-statement)
(setq b (point))
(python-end-of-block)
(setq e (1- (point)))
(cptree-hide-region b e 'cptree)))))
(define-key python-mode-map [(f10)] 'mypython-fold/unfold-block)
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流