PyCharm Professional 2018 for Mac是一款功能强大且用户友好的IDE(集成开发环境的简称),构建在IntelliJ平台之上,并且从一开始就设计为Python开发的一体化工具。今天小编为您带来的教程旨在通过使用PyCharm(Python IDE)以及用于高效开发的完整工具集,逐步引导您创建,运行和调试简单的Python项目。希望对您有所帮助!( F1 w' g* Q. b* R( i! o
在你开始之前" e9 j# I6 U7 u' F( t2 _( z5 O
/ k. _; h8 a  e# F+ {
确保:$ a5 g+ V! h5 p

    . O; R! L$ y& L9 x
  • 您正在使用PyCharm 2.7或更高版本  }* D; g+ d. v6 `# [
  • 至少有一个Python解释器,版本从2.4到3.3已正确安装在您的计算机上。$ U1 x: r7 q! {
启动PyCharm
6 y3 o) j2 F- c7 N! N, Q# r" V9 ~* {! ^1 K. `6 B$ I
根据您的操作系统,有很多方法可以启动IDE。( O) P3 R! Q! I4 I, f, L7 d: i

    % k  f/ ?+ Z4 t. L9 G
  • 如果您有桌面快捷方式图标 ,只需双击它。! C  q, v# a. K, \2 H
  • 在PyCharm安装的bin目录下,双击pycharm.exe或pycharm.bat(Windows)或pycharm.sh(MacOS和Linux)。
    ( o1 n0 ^0 I9 R# x4 D, q
PyCharm启动并显示欢迎屏幕:
1 L, C9 x. j+ f) r6 m& v- R% z0 E) s4 H! w8 q
在PyCharm中创建一个简单的Python项目& q2 i7 |9 \2 W2 I* @( P& A0 _

9 k7 A: z* S- Q2 g要创建新项目,请单击“ 创建新项目 ”链接。您将看到“ 创建新项目”对话框,您必须在其中定义新项目的所有必要设置。/ O7 ~2 u  c" F  ~, ]# y
请注意,您可以随时创建新项目...为此,请使用主菜单上的文件→新建项目。2 Y5 g) h7 `1 H; ]7 n; b

" a' |* C9 d* S2 \首先,指定项目名称 - 让它成为MySimplePythonApplication。请注意,PyCharm默认建议项目位置。您可以接受默认位置,也可以单击浏览按钮找到您选择的合适位置。
3 {2 L5 k0 c9 e9 @$ o( {: t接下来,选择项目类型。PyCharm建议了几个项目模板,用于开发各种类型的应用程序(Django,Google AppEngine等)。当PyCharm从项目模板创建一个新项目时,它会生成相应的目录结构和特定文件。2 x1 P1 I  _& O
但是,我们的任务是为Python创建一个项目。在这种情况下,让我们选择Empty项目类型- 它最适合普通的Python编程。在这种情况下,PyCharm不会生成任何特殊文件或目录。
) E! ]: j. z8 |% Y* Z最后,让我们选择一个Python解释器。如您所见,PyCharm通知您尚未选择Python解释器。由于您可以使用至少一个Python解释器,因此我们将其定义为项目解释器。
4 T+ R1 E1 e9 L为此,请单击“ 解释器”字段旁边的“浏览”按钮。在Python Interpreters对话框中,单击?,选择Local ...,然后从文件系统中选择所需的解释器:
6 D5 d2 j: B9 l8 w. u) y% E7 i- _$ N  O6 [' N2 |* M5 Q
完成所有必要的设置后,“ 确定”按钮将变为启用状态 - 因此单击它以使项目准备就绪。
0 A4 x. C) Y6 Z' N: X" o+ `, N探索和配置项目结构
( Y2 q) T" {% {" l* B4 H1 B+ d( c, Z, ^# L$ L
您可以在“ 项目”工具窗口中查看初始项目结构:5 M1 ^2 C* L2 A! K9 A- ]
1 _6 Q* Y2 `: A
如您所见,该项目仅包含项目根目录,以及您在“ 外部库”节点下指定的Python解释器。
1 F, V% P' x/ ^* j9 _0 z接下来,让我们更详细地探索和配置项目结构:单击设置主工具栏,然后选择Project Structure页面:6 a8 }3 \6 X' T( M! W, H: R
3 g- N. H( S  N$ p7 j% T8 G# V. [
在项目根目录下,你会看到.idea目录 - 它包含反映项目结构的MySimplePythonApplication.iml文件,以及几个XML文件,每个文件都负责自己的一组设置,可以通过它们的名称识别:encodings.xml,vcs .xml 等。请注意.idea目录在Project工具窗口中不可见。# U( Q0 r. u5 s, h4 d0 f
接下来让我们添加一个源根,实际执行所有工作。在同一个“ 项目结构”页面中,右键单击项目根目录,然后在上下文菜单中选择“ 新建文件夹 ”:. }$ |% v2 m3 t: e5 g8 N2 U
7 }- t) M. y# ~$ X. `$ t
接下来,键入目录名称:) F% Q+ L) v  s& d1 b+ m# j
+ b6 u5 M) N( X! ?, d
最后,让我们将此目录标记为源根:选择src目录,然后单击文件夹- 您会看到src目录现在标有文件夹图标。7 [  i- ]* {3 O0 q
单击“ 确定”以应用更改并关闭“ 设置/首选项”对话框。
! u( H  p/ s0 ^/ J6 J& s. K请注意,实际上此步骤是可选的。您只需在项目根目录下创建一个文件,它就会被视为源文件,因为默认情况下项目根目录是源根目录。% }$ I6 x$ z% C
创建一个Python类
0 b3 m9 _( b7 i+ x1 H. a  x8 {" |0 \+ w3 V" u
在项目工具窗口中选择src目录,然后按Alt + Insert:
" R) J9 p8 O- d" Q; U) h5 ^; ^# R/ a* m- }, F3 @$ K3 A
从弹出窗口中选择Python文件选项,然后键入新文件名(Solver):
  C4 G, D9 ]0 R5 R8 b* x* Y6 l' ~7 z( l* Z8 X$ j  [
PyCharm创建一个新的Python文件并打开它进行编辑:
* f( C3 m2 a. P- e* K7 \7 V- l( |; e0 J9 ~
编辑源代码) k& Y% g7 Z" ^& y4 F0 \5 H

' d+ k6 e  V( y  g+ J. _) @5 X+ b我们先来看看我们刚刚生成的Python文件。存根只包含两行:7 E3 W' L# s% |
_author_ = 'wombat'
% u- \1 G& Q1 D_project_ = 'MySimplePythonApplication'* b% v& M/ S7 ^! c( _
由于Python文件是由文件模板生成的,因此PyCharm替换了实际值而不是预定义变量 $ PROJECT_NAME和$ USER。! w& ?6 b7 o" }) B) T2 n, l$ F
现在让我们继续创建一些有意义的内容 - 一个简单的应用来解决二次方程。$ N, V' z" B2 a' e1 }3 X: b  ~
当你开始打字的时候,你就会明白PyCharm就像一对程序员,看着你的肩膀并提出正确的选择。例如,您想要创建一个Python类。当您刚开始输入关键字时,会出现一个建议列表:
& b- ?) R  d. x  g$ l& {5 F/ P. P* S* X4 B; Z  s  M$ g! C
选择关键字class并键入类名称(Solver)。PyCharm立即通知你有关缺失的冒号,然后预期缩进:
, V0 Y7 ?% g" n" A! i! }2 Y
6 [! D! d. @6 R. q# H  V请注意右侧排水沟中的错误条纹。将鼠标指针悬停在错误条带上,PyCharm会显示一个带有详细说明的气球。由于PyCharm即时分析您的代码,结果会立即显示在右侧排水沟顶部的检查指示器中。这个检查指示就像交通灯一样:当它是绿色时,一切都很好,你可以继续你的代码; 黄灯表示一些小问题,但不会影响编译; 但是当灯光变红时,就意味着你有一些严重的错误。
/ t: w! f# [, m: D7 d让我们继续创建函数'demo':当你只输入左大括号时,PyCharm会创建整个代码构造(强制参数'self',右大括号和冒号),并提供适当的缩进:/ t$ D+ S# P! c
, K- P4 Y1 l- A- b$ z; @" c% f1 a, v
在键入时请注意,未使用的符号显示为灰色:
  I) }4 j4 S; @( N0 w) h8 C, D5 {% O- W9 y4 y$ G) Y/ V9 N7 a
一旦计算出判别式,就会像往常一样进行渲染。接下来,要注意未解决的参考'数学'。PyCharm用红色曲线突出显示它,并显示红色灯泡。, U* ]$ |1 @9 ~: ^  W
让我们简要介绍一下PyCharm关于意图行动和快速修复的概念。当你编写代码时,有时建议修改代码结构 - 在这种情况下,PyCharm显示一个黄色灯泡。但是,如果PyCharm遇到错误,它会显示红灯泡。% j# g6 y$ R6 S$ a: n, x
在任何一种情况下,要查看PyCharm建议您做什么,请按Alt + Enter - 这将显示建议列表,在我们的示例中包含几个可能的解决方案:
! z: r3 e. n" I; S5 S" y( t) C, t2 a
我们选择导入数学库。Import语句将添加到Solver.py文件中。接下来,计算二次方程的根,并打印出来,最后,让我们调用类Solver的函数演示:7 W. [, f/ B" l/ y0 w1 s9 {9 j4 m
importmath
" Y1 I, u0 w0 g  { 6 ~% E* x' P! C  h
_author_ = 'wombat'
1 G  s; [) ~& v_project_ = 'MySimplePythonApplication', W  v% ?7 M" s8 O

% M/ M: K; ~2 |classSolver:
, ?6 r' ~) U( }; j7 c9 ]0 D! K def demo(self):7 U0 p! N/ Q  x0 s" s* ^
* E5 T+ r) F# m8 r
a = int(input("a "))( h6 f& J6 O# C2 D! z6 k% C
b = int(input("b "))
" ?* t3 p) g9 k! [3 K c = int(input("c "))) B/ D( t) E& {; e$ t
d = b ** 2- 4* a * c
* J3 T# d4 e, ~/ Z# I& b disc = math.sqrt(d)
. l, e; T8 t1 {$ Q root1 = (-b + disc) / (2* a)
9 c% G; S1 q" E$ \- T. E2 y6 Z root2 = (-b - disc) / (2* a)
8 A8 N- I' u' f! @7 c: j% v print(root1, root2)
! D) ?* H7 t5 x0 H* Q/ [Solver().demo()* c% {5 n/ o! y
然后按Ctrl + Shift + F10运行脚本。控制台将显示在“ 运行”工具窗口中。在此控制台中,您必须输入a,b和c值,并期望看到结果。
$ T" Y! `6 W" Y2 l( f糟糕... PyCharm报告运行时错误:
, c& Q0 c) b# ], B4 }% N+ C; r
. ?- m) N. {9 C似乎有些分析是可取的,所以让我们确保radicand'd'是非负的,并在它为负时报告错误。为此,选择判别计算语句,然后按Ctrl + Alt + T(代码→环绕):3 r' h# p4 r9 S4 i/ y
: F  E( {" \1 E& H! G* p
PyCharm创建一个stub'if'结构,让你完成填充正确内容的任务。最后,让整个计算重复多次是很好的,所以让我们再次使用'Surround with'动作:选择函数演示的整个主体并用while环绕它。您最终会得到如下代码:
1 v& T; d/ o7 S6 D" r5 ~6 {) X
importmath
2 u( F+ K) i5 y3 I/ M 5 m9 k3 p4 x1 |2 q& A
_author_ = 'wombat'
' J% `" a: P& x$ z, p_project_ = 'MySimplePythonApplication', N6 @# d9 S! l# T! v

, }7 L* W* I: o2 _classSolver:$ |- N& a! P# z
def demo(self):
2 u5 V" c* n+ P, c- v whileTrue:' h" x( F. F, z0 D
a = int(input("a "))
; p- \0 }) i; c. G, ?+ ], A b = int(input("b "))
3 Z3 i, H. n/ h4 u% L  m2 ` c = int(input("c "))& N7 l! \$ B+ ^7 r8 o7 ]
d = b ** 2- 4* a * c
/ C. ?' y) e! q. B) U9 M ifd>=0:$ ?! u0 k; E. A: k0 q! k2 ?
disc = math.sqrt(d)6 b7 |( d+ i- F0 [+ C
root1 = (-b + disc) / (2* a)- X3 {5 m! _3 h: H; E- F
root2 = (-b - disc) / (2* a)9 i7 e6 z6 ~: A- G/ m" O8 F
print(root1, root2)9 ]( u( }" u: g( I1 x2 u% o
else:
; C" y+ T3 p8 m3 G# Q& T( t* F print('error')* Z2 H4 B, u. O7 z0 a6 @4 ]7 r8 h
( k) ^, h. h, c4 z. B9 W$ L5 U
Solver().demo()
3 i' d0 \  Y* D! V8 y" Q5 {0 E$ r
接下来,让我们运行并调试此脚本。# x$ X: @4 k  r) K2 R6 }/ O
运行应用程序
' S1 t5 C5 o. F( {; J5 Q1 N$ k& x/ C+ Q3 x" \* a" }; C
您已经使用键盘快捷键启动了Solver脚本,所以让我们只提醒它是如何完成的。PyCharm提出了几种运行在编辑器中打开的脚本的方法。
$ _- j( S8 _0 A/ z" \' j, T
    7 z; m! i; N' H+ ?
  • 首先,您可以使用键盘快捷键Ctrl + Shift + F10! Q) U+ c& O2 c' Q& B2 ?8 Z$ S* Q% J
  • 其次,您可以使用右键单击编辑器背景调用的上下文菜单命令:
    4 o* e4 W: h$ A4 S% {* A/ o! T6 P
4 [2 U1 {. R) a3 P& x( C
    6 L# ~  Y  z7 m
  • 最后,可以使用临时运行/调试配置'Solver'从主工具栏运行脚本(在下一节中将更详细地考虑运行/调试配置的概念):
    ' R3 A' v, \: [5 e6 Q
  y, L6 B3 V. e9 q5 |
在任何一种情况下,PyCharm都会打开Run工具窗口,并显示应用程序的输入和输出:
) d! p8 l- n$ l1 r0 }2 j; ?( ~. l# f! J7 o
运行/调试配置/ }7 x: Q* z+ I5 K8 C

& K$ ^/ ?' P  i6 e! i/ R3 u: G每个脚本都使用特殊配置文件或运行/调试配置执行。这样的配置文件用于运行和调试应用程序,并指定脚本名称,工作目录,启动前要执行的操作等。
6 _# p. T# Z+ B+ s/ xPyCharm为各种类型的应用程序(Python脚本,Django应用程序,测试等)建议了许多默认的运行/调试配置。您可以在“$ m5 }1 f- W: p
运行/调试配置”对话框中查看可用的默认值,该对话框可通过“运行”→“编辑”调用在主菜单上配置...命令,或单击主工具栏的“运行”区域中的下拉列表:
  |8 [, ?' a; V% N$ j5 q. I6 f9 Y2 `8 a; Y
让我们更专注地看一下“ 编辑配置”对话框。它的左侧部分包含一个带有两个顶级节点的树视图:Python和Default:* w- p7 R7 }+ [, m

6 Q5 ^9 B; _2 d' H较低节点包含默认运行/调试配置列表。这些默认的运行/调试配置是无名的,但每个新的运行/调试配置都是基于默认配置创建的,并获取您选择的名称。
& L2 C( _4 N( j2 y& |. \上层节点称为Python,只包含一个运行/调试配置解算器,显示为灰色。这是什么意思?
% n, V) c/ x: v! |: P运行/调试配置当您刚刚运行Solver脚本时,Solver是PyCharm生成的临时配置文件。它位于Python节点下,因为此运行/调试配置是在Python类型的默认配置的基础上创建的。( L- C& G/ u: z: O
您可以保存此运行/调试配置,从而使其永久化。永久运行/调试配置以普通字体呈现。与临时配置不同,永久配置的数量是无限的。
* d  d& ]" S  J让我们使用相同的临时运行/调试配置Solver来调试Solver脚本。$ c3 H& z, I2 T+ @: x4 F3 C- K9 K
调试应用程序8 N. A9 c7 x+ o" U9 Q
3 P/ q' x- p! K; m
您将如何逐步执行应用程序,检查与变量,监视或线程相关的程序信息,找出异常的来源?这是调试过程的帮助。
1 u& t$ v7 q/ j5 |要开始调试,必须先设置断点。要创建断点,只需单击左侧装订线:
7 m8 _6 x6 o/ U" p: B. s1 E4 ~  g9 X7 F
接下来,右键单击编辑器背景,然后在上下文菜单中选择Debug'Solver':
% O6 O5 I4 m9 {1 F0 r8 k! U  u  M$ \
5 X5 @7 A4 c( l$ l& L- bPyCharm启动调试会话并显示调试工具窗口。以下图像对应于窗格和选项卡的默认布局:
, `" ^1 I: ^- K8 b5 Y9 x; W
) j% N$ g5 i& q+ O8 t5 v“ 调试”工具窗口显示框架,变量和监视的专用窗格以及控制台,其中显示所有输入和输出信息。如果您希望控制台始终可见,只需将其拖动到所需位置:
( e- ~1 [1 ?0 B& `8 p6 ?4 U5 ~! A8 }" v5 c2 x
使用步进工具栏按钮逐步执行您的应用程序:
0 @. H# K$ o$ \2 E5 g8 K. e3 @) i; r8 `' ^: A* u
当您单步执行应用程序时,每个到达的断点都变为蓝色:0 K: s" |9 U  d6 ]8 R  N

- U& p* H: b, g; m探索导航5 F; i) ?% q7 x5 h7 F0 P0 |. I
) R) ?: ^* D* j
导航给PyCharm带来了特别的热情。让我们简单介绍一下PyCharm的众多导航设施。# L# E4 O: }, E. @' e. O* d, E
    5 q- G% f1 T: h* J
  • 想象一下,你已经停止工作并出去喝咖啡......当你回来时,你不记得你到底做了什么,你在哪里停了下来。在这种情况下,您可以使用最需要的功能之一 - 导航到最后编辑位置。按Ctrl + Shift + Backspace - 就在这里!6 G4 p% Y" ]9 c' t* a6 E
  • 使用PyCharm,可以很容易地使用符号声明。例如,在我们的例子中,将插入符号调用sqrt函数,然后按Ctrl + B - PyCharm会立即在sqrt函数的声明中打开math.py:6 X/ K+ ^& ^$ |9 o1 S* W/ `

' l7 I: f" `$ q" H

    9 R1 l' n. q: Z7 {
  • 非常有用的是能够按名称快速查找任何类,文件或符号。例如,按Ctrl + Alt + Shift + N并键入要转到的符号的名称:
    3 J+ v: L$ F& I5 @5 O/ D) ?6 M
* N  _, r7 j5 m
您可以在“ 导航”菜单下找到所有可用的导航命令。本教程中描述的只是几个例子.) ?* i5 W# n2 ?5 m* ~, R- m9 \
重构
/ I, `3 u  V! T1 A3 g/ i, g* M1 i/ i( ]1 g/ L' z, k
让我们更改函数演示的名称,并给它一些更具描述性的名称,比如计算。很可能只是用新的名称改写现有名称。但是,在这种情况下,您必须输入两次新名称:第一次用于函数声明,第二次用于函数调用。在这个小例子中,它不是一个问题,但考虑在一个大型项目上工作,有很多函数调用......更可取的是使用重命名重构。
: v/ n+ y6 Q& h8 _, ]7 M$ [$ K: q将插入符号放在函数声明中,按Shift + F6,然后在“ 重命名”对话框中键入新名称:
& B8 i$ e* O! X5 Q0 O9 J7 s
5 S- k6 b6 [6 p& _$ b- h9 {单击“ 重构”。所有找到的事件都出现在“ 查找”工具窗口中:; {9 a2 w* u9 @3 G$ o4 W# `& y  s
# D) R5 _( ]- `3 n& s: `8 k
单击Do Refactor按钮 - 您会看到函数声明和函数调用的函数名称已更改:
' n6 y- r+ U2 u: }# X/ c5 P+ h$ Z# P- f1 A* j, C
可以进一步修改此类:将其移动到其他文件夹,更改计算功能的签名,提取变量等。所有这些操作都是通过各种重构来执行的。我们将在专门的教程中更详细地考虑这些重构。! B4 W# Q  w. o3 d
概要1 V( S$ F0 L/ l

( {# s1 D+ m' x" Y: u, Z3 T所以,这个简短的教程结束了。让我们总结一下我们的成就:- ~5 m- K2 _7 D, e1 t1 I+ v4 i) M
    3 Z9 p5 }0 [7 M% g
  • 我们创建了一个项目% r6 t6 {: u0 [; Z  v
  • 我们用一个目录和一个类填充了这个项目) c  U* V3 ~, }' t, p
  • 我们已经运行并调试了我们的应用程序
    0 D: W5 ~: }1 I. M" K! u7 j; N
  • 我们已经探索了很快的导航和重构。" R$ w7 f7 }. W) K
菁菁苹果园提供技术支持,有任何问题可随时联系微信coolgps 或者 QQ41360481.

已有 0 个人发表评论

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

加入VIP会员
快速回复 返回列表 客服中心





快速回复 返回顶部 返回列表