introducing python
kirby urner <[email protected]> Thu, 18 Apr 2024 09:47:42 -0700
| Newsgroups | gmane.comp.python.education |
|---|---|
| Message-ID | <CAPJgG3QEpw4=SEgwtakqKMy0As++5Q2bMEAK1Zj9Cy4dbdf03Q@mail.gmail.com> |
--===============8435085550747366519== Content-Type: multipart/alternative; boundary="00000000000091212d061661bb37" --00000000000091212d061661bb37 Content-Type: text/plain; charset="UTF-8" When I start introducing Python I use this chart [1]: Five Dimensions of Python: - Level 0: core syntax with keywords & punctuation, indentation (import, if...) - Level 1: a large set of built-ins (e.g. print) - Level 2: special names with the double underlines - Level 3: Standard Library (e.g. math) - Level 4: 3rd Party Ecosystem (e.g. numpy, pandas, matplotlib) Here's a Level 2 topic I've been recently working on: https://nbviewer.org/github/4dsolutions/m4w/blob/main/gadzooks.ipynb I know, we don't all love those __ribs__ (special names), however that's a benefit of Free Open Source: you can fork and adapt, take the best ideas, and leave the rest. This one is about how implementing __add__ gets you default behavior for __iadd__ with no extra work, with the option to go on to add your own __iadd__. Kirby [1] example of me doing that: https://github.com/4dsolutions/clarusway_data_analysis/blob/main/python_warm_up/warmup_python_intro.ipynb coming from: https://nbviewer.org/github/4dsolutions/clarusway_data_analysis/blob/main/DAwPy_S1_%28Numpy_Arrays%29/daily_schedule.ipynb (Exhibit: some Python teaching in the wild....) --00000000000091212d061661bb37 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-size:small"><fo= nt face=3D"verdana, sans-serif"><br></font></div><div class=3D"gmail_defaul= t" style=3D""><font face=3D"verdana, sans-serif" style=3D"">When I start in= troducing Python I use this chart [1]:</font></div><div class=3D"gmail_defa= ult" style=3D""><font face=3D"verdana, sans-serif"><br></font></div><div cl= ass=3D"gmail_default" style=3D""><font face=3D"verdana, sans-serif">Five Di= mensions of Python:</font></div><div class=3D"gmail_default" style=3D""><fo= nt face=3D"verdana, sans-serif"><br></font></div><div class=3D"gmail_defaul= t" style=3D""><ul style=3D"list-style-position:initial;margin-bottom:1em;pa= dding-left:2em;color:rgba(0,0,0,0.87)"><li><font face=3D"verdana, sans-seri= f">Level 0: core syntax with keywords & punctuation, indentation (impor= t, if...)</font></li><li><font face=3D"verdana, sans-serif">Level 1: a larg= e set of built-ins (e.g. print)</font></li><li><font face=3D"verdana, sans-= serif">Level 2: special names with the double underlines</font></li><li><fo= nt face=3D"verdana, sans-serif">Level 3: Standard Library (e.g. math)</font= ></li><li><font face=3D"verdana, sans-serif">Level 4: 3rd Party Ecosystem (= e.g. numpy, pandas, matplotlib)</font></li></ul><div><font color=3D"#000000= " face=3D"verdana, sans-serif">Here's a Level 2 topic I've been rec= ently working on:</font></div><div><font color=3D"#000000" face=3D"verdana,= sans-serif"><br></font></div><div><font face=3D"verdana, sans-serif"><a hr= ef=3D"https://nbviewer.org/github/4dsolutions/m4w/blob/main/gadzooks.ipynb"= >https://nbviewer.org/github/4dsolutions/m4w/blob/main/gadzooks.ipynb</a><f= ont color=3D"#000000"><br></font></font></div><div><font face=3D"verdana, s= ans-serif"><br></font></div><div><font face=3D"verdana, sans-serif">I know,= we don't all love those __ribs__ (special names), however that's a= =C2=A0</font></div><div><font face=3D"verdana, sans-serif">benefit of Free = Open Source: you can fork and adapt, take the best ideas,=C2=A0</font></div= ><div><font face=3D"verdana, sans-serif">and leave the rest.</font></div><d= iv><font face=3D"verdana, sans-serif"><br></font></div><div><font face=3D"v= erdana, sans-serif">This one is about how implementing __add__ gets you def= ault behavior=C2=A0</font></div><div><font face=3D"verdana, sans-serif">for= __iadd__ with no extra work, with the option to go on to add your</font></= div><div><font face=3D"verdana, sans-serif">own __iadd__.</font></div><div>= <font color=3D"#000000" face=3D"verdana, sans-serif"><br></font></div><div>= <font color=3D"#000000" face=3D"verdana, sans-serif">Kirby</font></div><div= ><font color=3D"#000000" face=3D"verdana, sans-serif"><br></font></div><div= ><font color=3D"#000000" face=3D"verdana, sans-serif"><br></font></div><div= ><font color=3D"#000000" face=3D"verdana, sans-serif">[1] example of me doi= ng that:</font></div><div><font color=3D"#000000" face=3D"verdana, sans-ser= if"><br></font></div><div><font face=3D"verdana, sans-serif"><a href=3D"htt= ps://github.com/4dsolutions/clarusway_data_analysis/blob/main/python_warm_u= p/warmup_python_intro.ipynb">https://github.com/4dsolutions/clarusway_data_= analysis/blob/main/python_warm_up/warmup_python_intro.ipynb</a><font color= =3D"#000000"><br></font></font></div><div><font face=3D"verdana, sans-serif= "><br></font></div><div><font face=3D"verdana, sans-serif">coming from:</fo= nt></div><div><font face=3D"verdana, sans-serif"><br></font></div><div><fon= t face=3D"verdana, sans-serif"><a href=3D"https://nbviewer.org/github/4dsol= utions/clarusway_data_analysis/blob/main/DAwPy_S1_%28Numpy_Arrays%29/daily_= schedule.ipynb">https://nbviewer.org/github/4dsolutions/clarusway_data_anal= ysis/blob/main/DAwPy_S1_%28Numpy_Arrays%29/daily_schedule.ipynb</a></font><= br></div><div><br></div><div><font face=3D"system-ui, -apple-system, blinkm= acsystemfont, Segoe UI, helvetica, arial, sans-serif, Apple Color Emoji, Se= goe UI Emoji, Segoe UI Symbol" color=3D"#000000"><span style=3D"font-size:1= 4px">(Exhibit: some Python teaching in the wild....)</span></font></div><di= v><font face=3D"system-ui, -apple-system, blinkmacsystemfont, Segoe UI, hel= vetica, arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symb= ol" color=3D"#000000"><span style=3D"font-size:14px"><br></span></font></di= v><div><font face=3D"system-ui, -apple-system, blinkmacsystemfont, Segoe UI= , helvetica, arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI= Symbol" color=3D"#000000"><span style=3D"font-size:14px"><br></span></font= ></div></div></div> --00000000000091212d061661bb37-- --===============8435085550747366519== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Edu-sig mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/edu-sig.python.org/ Member address: [email protected] --===============8435085550747366519==--