@@ -11802,6 +11802,110 @@
11802
11802
< h1 id ="Idiomatic-Python---miscellaneous-part-2 "> Idiomatic Python - miscellaneous part 2< a class ="anchor-link " href ="#Idiomatic-Python---miscellaneous-part-2 "> ¶</ a > </ h1 >
11803
11803
</ div >
11804
11804
</ div >
11805
+ </ div >
11806
+ < div class ="cell border-box-sizing text_cell rendered "> < div class ="prompt input_prompt ">
11807
+ </ div >
11808
+ < div class ="inner_cell ">
11809
+ < div class ="text_cell_render border-box-sizing rendered_html ">
11810
+ < h2 id ="String-concatenation "> String concatenation< a class ="anchor-link " href ="#String-concatenation "> ¶</ a > </ h2 >
11811
+ </ div >
11812
+ </ div >
11813
+ </ div >
11814
+ < div class ="cell border-box-sizing code_cell rendered ">
11815
+ < div class ="input ">
11816
+ < div class ="prompt input_prompt "> In [1]:</ div >
11817
+ < div class ="inner_cell ">
11818
+ < div class ="input_area ">
11819
+ < div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> names</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="s1 "> 'John'</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'Lisa'</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'Terminator'</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'Python'</ span > < span class ="p "> )</ span >
11820
+ </ pre > </ div >
11821
+
11822
+ </ div >
11823
+ </ div >
11824
+ </ div >
11825
+
11826
+ </ div >
11827
+ < div class ="cell border-box-sizing text_cell rendered "> < div class ="prompt input_prompt ">
11828
+ </ div >
11829
+ < div class ="inner_cell ">
11830
+ < div class ="text_cell_render border-box-sizing rendered_html ">
11831
+ < p > < font color ='red '> Don't do this.</ font > </ p >
11832
+
11833
+ </ div >
11834
+ </ div >
11835
+ </ div >
11836
+ < div class ="cell border-box-sizing code_cell rendered ">
11837
+ < div class ="input ">
11838
+ < div class ="prompt input_prompt "> In [2]:</ div >
11839
+ < div class ="inner_cell ">
11840
+ < div class ="input_area ">
11841
+ < div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> semicolon_separated</ span > < span class ="o "> =</ span > < span class ="n "> names</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ]</ span >
11842
+ < span class ="k "> for</ span > < span class ="n "> name</ span > < span class ="ow "> in</ span > < span class ="n "> names</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :]:</ span >
11843
+ < span class ="n "> semicolon_separated</ span > < span class ="o "> +=</ span > < span class ="s1 "> ';'</ span > < span class ="o "> +</ span > < span class ="n "> name</ span >
11844
+ < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="n "> semicolon_separated</ span > < span class ="p "> )</ span >
11845
+ </ pre > </ div >
11846
+
11847
+ </ div >
11848
+ </ div >
11849
+ </ div >
11850
+
11851
+ < div class ="output_wrapper ">
11852
+ < div class ="output ">
11853
+
11854
+
11855
+ < div class ="output_area ">
11856
+
11857
+ < div class ="prompt "> </ div >
11858
+
11859
+
11860
+ < div class ="output_subarea output_stream output_stdout output_text ">
11861
+ < pre > John;Lisa;Terminator;Python
11862
+ </ pre >
11863
+ </ div >
11864
+ </ div >
11865
+
11866
+ </ div >
11867
+ </ div >
11868
+
11869
+ </ div >
11870
+ < div class ="cell border-box-sizing text_cell rendered "> < div class ="prompt input_prompt ">
11871
+ </ div >
11872
+ < div class ="inner_cell ">
11873
+ < div class ="text_cell_render border-box-sizing rendered_html ">
11874
+ < h3 id ="Use-`join`-instead! "> < font color ="green "> Use `join` instead!</ font > < a class ="anchor-link " href ="#Use-`join`-instead! "> ¶</ a > </ h3 >
11875
+ </ div >
11876
+ </ div >
11877
+ </ div >
11878
+ < div class ="cell border-box-sizing code_cell rendered ">
11879
+ < div class ="input ">
11880
+ < div class ="prompt input_prompt "> In [3]:</ div >
11881
+ < div class ="inner_cell ">
11882
+ < div class ="input_area ">
11883
+ < div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> semicolon_separated</ span > < span class ="o "> =</ span > < span class ="s1 "> ';'</ span > < span class ="o "> .</ span > < span class ="n "> join</ span > < span class ="p "> (</ span > < span class ="n "> names</ span > < span class ="p "> )</ span >
11884
+ < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="n "> semicolon_separated</ span > < span class ="p "> )</ span >
11885
+ </ pre > </ div >
11886
+
11887
+ </ div >
11888
+ </ div >
11889
+ </ div >
11890
+
11891
+ < div class ="output_wrapper ">
11892
+ < div class ="output ">
11893
+
11894
+
11895
+ < div class ="output_area ">
11896
+
11897
+ < div class ="prompt "> </ div >
11898
+
11899
+
11900
+ < div class ="output_subarea output_stream output_stdout output_text ">
11901
+ < pre > John;Lisa;Terminator;Python
11902
+ </ pre >
11903
+ </ div >
11904
+ </ div >
11905
+
11906
+ </ div >
11907
+ </ div >
11908
+
11805
11909
</ div >
11806
11910
< div class ="cell border-box-sizing text_cell rendered "> < div class ="prompt input_prompt ">
11807
11911
</ div >
@@ -11819,7 +11923,7 @@ <h2 id="or-in-assignments"><code>or</code> in assignments<a class="anchor-link"
11819
11923
</ div >
11820
11924
< div class ="cell border-box-sizing code_cell rendered ">
11821
11925
< div class ="input ">
11822
- < div class ="prompt input_prompt "> In [1 ]:</ div >
11926
+ < div class ="prompt input_prompt "> In [4 ]:</ div >
11823
11927
< div class ="inner_cell ">
11824
11928
< div class ="input_area ">
11825
11929
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> a</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span >
@@ -11843,7 +11947,7 @@ <h2 id="or-in-assignments"><code>or</code> in assignments<a class="anchor-link"
11843
11947
</ div >
11844
11948
< div class ="cell border-box-sizing code_cell rendered ">
11845
11949
< div class ="input ">
11846
- < div class ="prompt input_prompt "> In [2 ]:</ div >
11950
+ < div class ="prompt input_prompt "> In [5 ]:</ div >
11847
11951
< div class ="inner_cell ">
11848
11952
< div class ="input_area ">
11849
11953
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> my_variable</ span > < span class ="o "> =</ span > < span class ="s1 "> 'default value'</ span >
@@ -11889,7 +11993,7 @@ <h3 id="Prefer-doing-this:"><font color="green">Prefer doing this:</font><a clas
11889
11993
</ div >
11890
11994
< div class ="cell border-box-sizing code_cell rendered ">
11891
11995
< div class ="input ">
11892
- < div class ="prompt input_prompt "> In [3 ]:</ div >
11996
+ < div class ="prompt input_prompt "> In [6 ]:</ div >
11893
11997
< div class ="inner_cell ">
11894
11998
< div class ="input_area ">
11895
11999
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> my_variable</ span > < span class ="o "> =</ span > < span class ="n "> a</ span > < span class ="ow "> or</ span > < span class ="n "> b</ span > < span class ="ow "> or</ span > < span class ="n "> c</ span > < span class ="ow "> or</ span > < span class ="s1 "> 'default value'</ span >
@@ -11938,7 +12042,7 @@ <h2 id="try---except---else"><code>try</code> - <code>except</code> - <code>else
11938
12042
</ div >
11939
12043
< div class ="cell border-box-sizing code_cell rendered ">
11940
12044
< div class ="input ">
11941
- < div class ="prompt input_prompt "> In [4 ]:</ div >
12045
+ < div class ="prompt input_prompt "> In [7 ]:</ div >
11942
12046
< div class ="inner_cell ">
11943
12047
< div class ="input_area ">
11944
12048
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> exception_occured</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span >
@@ -11991,7 +12095,7 @@ <h3 id="Use-this-instead!"><font color="green">Use this instead!</font><a class=
11991
12095
</ div >
11992
12096
< div class ="cell border-box-sizing code_cell rendered ">
11993
12097
< div class ="input ">
11994
- < div class ="prompt input_prompt "> In [5 ]:</ div >
12098
+ < div class ="prompt input_prompt "> In [8 ]:</ div >
11995
12099
< div class ="inner_cell ">
11996
12100
< div class ="input_area ">
11997
12101
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="k "> try</ span > < span class ="p "> :</ span >
@@ -12050,7 +12154,7 @@ <h2 id="try---finally"><code>try</code> - <code>finally</code><a class="anchor-l
12050
12154
</ div >
12051
12155
< div class ="cell border-box-sizing code_cell rendered ">
12052
12156
< div class ="input ">
12053
- < div class ="prompt input_prompt "> In [6 ]:</ div >
12157
+ < div class ="prompt input_prompt "> In [9 ]:</ div >
12054
12158
< div class ="inner_cell ">
12055
12159
< div class ="input_area ">
12056
12160
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="k "> def</ span > < span class ="nf "> magical_calculation</ span > < span class ="p "> ():</ span >
@@ -12104,7 +12208,7 @@ <h3 id="This-is-better-fit-for-the-purpose!"><font color="green">This is better
12104
12208
</ div >
12105
12209
< div class ="cell border-box-sizing code_cell rendered ">
12106
12210
< div class ="input ">
12107
- < div class ="prompt input_prompt "> In [7 ]:</ div >
12211
+ < div class ="prompt input_prompt "> In [10 ]:</ div >
12108
12212
< div class ="inner_cell ">
12109
12213
< div class ="input_area ">
12110
12214
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="k "> def</ span > < span class ="nf "> magical_calculation</ span > < span class ="p "> ():</ span >
@@ -12166,7 +12270,7 @@ <h2 id="Use-context-managers-when-possible">Use context managers when possible<a
12166
12270
</ div >
12167
12271
< div class ="cell border-box-sizing code_cell rendered ">
12168
12272
< div class ="input ">
12169
- < div class ="prompt input_prompt "> In [8 ]:</ div >
12273
+ < div class ="prompt input_prompt "> In [11 ]:</ div >
12170
12274
< div class ="inner_cell ">
12171
12275
< div class ="input_area ">
12172
12276
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="k "> try</ span > < span class ="p "> :</ span >
@@ -12214,7 +12318,7 @@ <h3 id="Use-context-manager-instead!"><font color="green">Use context manager in
12214
12318
</ div >
12215
12319
< div class ="cell border-box-sizing code_cell rendered ">
12216
12320
< div class ="input ">
12217
- < div class ="prompt input_prompt "> In [9 ]:</ div >
12321
+ < div class ="prompt input_prompt "> In [12 ]:</ div >
12218
12322
< div class ="inner_cell ">
12219
12323
< div class ="input_area ">
12220
12324
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="k "> with</ span > < span class ="nb "> open</ span > < span class ="p "> (</ span > < span class ="s1 "> 'tmp.txt'</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'w'</ span > < span class ="p "> )</ span > < span class ="k "> as</ span > < span class ="n "> some_file</ span > < span class ="p "> :</ span >
@@ -12259,7 +12363,7 @@ <h2 id="min()-&-max()"><code>min()</code> & <code>max()</code><a class="
12259
12363
</ div >
12260
12364
< div class ="cell border-box-sizing code_cell rendered ">
12261
12365
< div class ="input ">
12262
- < div class ="prompt input_prompt "> In [10 ]:</ div >
12366
+ < div class ="prompt input_prompt "> In [13 ]:</ div >
12263
12367
< div class ="inner_cell ">
12264
12368
< div class ="input_area ">
12265
12369
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> secret_data</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="mi "> 99</ span > < span class ="p "> ,</ span > < span class ="mi "> 8</ span > < span class ="p "> ,</ span > < span class ="o "> -</ span > < span class ="mi "> 9</ span > < span class ="p "> )</ span >
@@ -12281,7 +12385,7 @@ <h2 id="min()-&-max()"><code>min()</code> & <code>max()</code><a class="
12281
12385
</ div >
12282
12386
< div class ="cell border-box-sizing code_cell rendered ">
12283
12387
< div class ="input ">
12284
- < div class ="prompt input_prompt "> In [11 ]:</ div >
12388
+ < div class ="prompt input_prompt "> In [14 ]:</ div >
12285
12389
< div class ="inner_cell ">
12286
12390
< div class ="input_area ">
12287
12391
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> max_value</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span >
@@ -12324,7 +12428,7 @@ <h3 id="Use-builtin-functionality-instead!"><font color="green">Use builtin func
12324
12428
</ div >
12325
12429
< div class ="cell border-box-sizing code_cell rendered ">
12326
12430
< div class ="input ">
12327
- < div class ="prompt input_prompt "> In [12 ]:</ div >
12431
+ < div class ="prompt input_prompt "> In [15 ]:</ div >
12328
12432
< div class ="inner_cell ">
12329
12433
< div class ="input_area ">
12330
12434
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> max_value</ span > < span class ="o "> =</ span > < span class ="nb "> max</ span > < span class ="p "> (</ span > < span class ="n "> secret_data</ span > < span class ="p "> )</ span >
@@ -12373,7 +12477,7 @@ <h2 id="contextlib.suppress---ignoring-exceptions"><code>contextlib.suppress</co
12373
12477
</ div >
12374
12478
< div class ="cell border-box-sizing code_cell rendered ">
12375
12479
< div class ="input ">
12376
- < div class ="prompt input_prompt "> In [13 ]:</ div >
12480
+ < div class ="prompt input_prompt "> In [16 ]:</ div >
12377
12481
< div class ="inner_cell ">
12378
12482
< div class ="input_area ">
12379
12483
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> value</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span >
@@ -12418,7 +12522,7 @@ <h3 id="Do-it-like-this-instead!"><font color="green">Do it like this instead!</
12418
12522
</ div >
12419
12523
< div class ="cell border-box-sizing code_cell rendered ">
12420
12524
< div class ="input ">
12421
- < div class ="prompt input_prompt "> In [14 ]:</ div >
12525
+ < div class ="prompt input_prompt "> In [17 ]:</ div >
12422
12526
< div class ="inner_cell ">
12423
12527
< div class ="input_area ">
12424
12528
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="kn "> from</ span > < span class ="nn "> contextlib</ span > < span class ="k "> import</ span > < span class ="n "> suppress</ span >
@@ -12472,7 +12576,7 @@ <h2 id="Properties-instead-of-getter/setter-methods">Properties instead of gette
12472
12576
</ div >
12473
12577
< div class ="cell border-box-sizing code_cell rendered ">
12474
12578
< div class ="input ">
12475
- < div class ="prompt input_prompt "> In [15 ]:</ div >
12579
+ < div class ="prompt input_prompt "> In [18 ]:</ div >
12476
12580
< div class ="inner_cell ">
12477
12581
< div class ="input_area ">
12478
12582
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="k "> class</ span > < span class ="nc "> Person</ span > < span class ="p "> :</ span >
@@ -12531,7 +12635,7 @@ <h3 id="Prefer-properties!"><font color="green">Prefer properties!</font><a clas
12531
12635
</ div >
12532
12636
< div class ="cell border-box-sizing code_cell rendered ">
12533
12637
< div class ="input ">
12534
- < div class ="prompt input_prompt "> In [16 ]:</ div >
12638
+ < div class ="prompt input_prompt "> In [19 ]:</ div >
12535
12639
< div class ="inner_cell ">
12536
12640
< div class ="input_area ">
12537
12641
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="k "> class</ span > < span class ="nc "> Person</ span > < span class ="p "> :</ span >
0 commit comments