u"Unicode 💓" r"raw string" f"f-{string}" >From https://docs.python.org/3/howto/unicode.html :
>>> "\N{GREEK CAPITAL LETTER DELTA}" # Using the character name '\u0394' >>> "\u0394" # Using a 16-bit hex value '\u0394' >>> "\U00000394" # Using a 32-bit hex value '\u0394' ... The u is silent (and optional). On Tuesday, January 29, 2019, Wes Turner <wes.tur...@gmail.com> wrote: > > > On Tuesday, January 29, 2019, kirby urner <kirby.ur...@gmail.com> wrote: > >> >> Thanks Wes, especially for the URLs relating type theory to "HoTT" by way >> category theory. >> >> My friend and co-podcaster Alex, a math-physics-philo guy, has been >> pushing me to bone up in that area [1]. Those links really helped. >> > > https://github.com/ejgallego/jscoq#homotopy-type-theory > > "[…] JsCoq/JsHoTT Interactive Online System!" > https://x80.org/rhino-hott/ > > >> >> I'm squeezing some of this in while reading the OSCON 2019 proposals, a >> big job, but I always learn a lot by so doing. [2] >> >> When it comes to Beginner Python and types, people have a strong grasp of >> number types coming in, especially ints, but think they know more about the >> string type than they really do, thanks to the whole coding/decoding >> business. >> > > ints and types ... floordiv and div > > https://github.com/python/typeshed/blob/master/stdlib/2and3/operator.pyi > > > def truediv(a: Any, b: Any) -> Any: ... > > def __truediv__(a: Any, b: Any) -> Any: ... > > if sys.version_info < (3, ): > > def div(a: Any, b: Any) -> Any: ... > > def __div__(a: Any, b: Any) -> Any: ... > > def div(x: int, y: int) -> Union[float, int]: ... > > https://docs.python.org/3/library/operator.html#operator.floordiv > >> 7 // 2 > > https://docs.python.org/3/library/operator.html#operator.truediv > >> 7 / 2 > > >> assert sys.version_info.major < 3 > >> from __future__ import division > >> 7 / 2 > > And then there are fractions, and decimals, and arbitrary-precision floats > https://github.com/python/typeshed/blob/master/stdlib/2and3/fractions.pyi > > >> i.e. strings are always "encrypted" (encoded) a specific way, even if >> only as plain ASCII text. K-16 doesn't do a lot to introduce Unicode, even >> though it's fundamental. I'd teach Unicode in language arts, along with >> fonts and old fashioned printing and book binding. >> > > Is there a good resource for Unicode with something like the output from > `hexdump -C`? > > With Python 3, Unicode emoji just work! :sandwich: > > >> >> What I find works well with kids and adults alike is a lot of emphasis on >> Emoji, which are now a part of Unicode after all. They're colorful and >> ubiquitous in modern life. >> >> There's something satisfying about being able to have >> >> ["😉", "🐋", "🚂"] >> >> as a Python list. >> >> We can also use non-keyboard characters in identifiers, though emoji >> won't work (there's no making your emojis callable in other words). >> >> *** testing 1-2-3... how did that list come through in the Mailman >> archives? Displayed as Emoji, not as missing glyphs? I see Wes already >> used a yellow hand pointing down, so I'm confidant the glyphs should be >> there *** >> >> Contemporary IDEs and web browsers are up to showing emoji. >> > >> When you think about Unicode as a database with records (fields as >> attributes) you realize that the string type alone is a huge door opener. >> It's also about number bases and HTML entities. Lots to know. >> > > Strings and Unicode .... > > https://en.wikipedia.org/wiki/Executable_space_protection > - What's executable code and what's </data>? Strings are often both, so we > must consider where they'll be output; and we cannot trust user-supplied > input to not contain executable code. > > https://en.wikipedia.org/wiki/String_literal#Escape_sequences > > https://en.wikipedia.org/wiki/Control_character > > https://en.wikipedia.org/wiki/Escape_sequence > > https://en.wikipedia.org/wiki/Cross-site_scripting#Preventive_measures > > https://en.wikipedia.org/wiki/Cross-site_scripting#Related_vulnerabilities > > > > import string > print(dir(string)) > print(string.punctuation) > > ### https://en.wikipedia.org/wiki/Code_injection#Examples ## > > import cgi, http > cgi.escape('''<a href="javascript:alert('hello')">here</a>''') > > > # https://docs.python.org/3/library/urllib.parse.html# > urllib.parse.quote_plus > import urllib > # urllib.parse.quote_plus > # urllib.parse.unquote > > > # https://bleach.readthedocs.io/en/latest/ > import bleach > bleach.clean("...") > bleach.urlify("...") > > > https://en.wikipedia.org/wiki/ANSI_escape_code#Escape_sequences > https://en.wikipedia.org/wiki/ANSI_escape_code#Colors > https://github.com/urwid/urwid/blob/master/urwid/escape.py > > https://docs.python.org/3/library/shlex.html#shlex.quote > > ... There are a bunch of packages to add colors to text with Python. You > can also just add raw escape *start* and end* character sequences to > strings and print them out. > > >> >> About half of my students are middle schoolers [3], the other half are >> adults [4]. >> >> The Emoji (Unicode) stuff works at all levels. >> >> I notice the Rust docs are into it. >> >> Show your language is Unicode savvy that way, good PR. >> >> Kirby Urner >> 4dsolutions.net >> cascadia.or.pdx >> >> [1] >> It's something of a joke how everyone starts a Monad tutorial the same >> way, by decrying the dearth of coherent Monad tutorials, hah hah. >> >> The emphasis on composing functions in category theory takes me to this >> decorator class, my Monad in progress: >> >> https://repl.it/@kurner/MakingMonads >> >> https://youtu.be/caSOTjr1z18 (functional programmer speaking to his >> community) >> https://youtu.be/SknxggwRPzU (Dutch prof with several relevant >> interviews on computerphile channel) >> https://youtu.be/IOiZatlZtGU (good overview of how logic and CS come >> together over time, focus on lambda stuff). >> > > functools, toolz.functoolz, fn.py: > > https://docs.python.org/3/library/functools.html#functools.partial > https://docs.python.org/3/library/functools.html#functools.wraps (copies > __doc__ strings over) > > https://toolz.readthedocs.io/en/latest/curry.html > https://toolz.readthedocs.io/en/latest/_modules/toolz/functoolz.html > > https://github.com/kachayev/fn.py > - #scala-style-lambdas-definition > - https://github.com/kachayev/fn.py/blob/master/README.rst# > high-level-operations-with-functions > > > The fn.py fn.monad.optionable decorator — @optionable — makes functional > composition with chaining easy, too: https://github.com/kachayev/ > fn.py/blob/master/README.rst#functional-style-for-error-handling > > >> >> FYI, I've used "λ-calculus" (Church, Turing et al) to loosely brand an >> alternative track through high school, that could in theory count with >> future employers and colleges as much as today's prevelant "Δ-calculus" >> (Newton-Leibniz). >> >> Here's how I use λ-calc in contrast with Δ-calc (against a STEM backdrop >> -- I've since done more to map out PATH). >> https://youtu.be/eTDH7m4vEiM >> >> I'm simply sharing a vision (heuristic, gestalt), akin to science >> fiction, not proposing legislation nor composing any "thou shalt" edict -- >> so no need to get too political about it I'm hoping. Food for thought. >> >> [2] a Medium story (be me) that gives a big picture broad brush stroke >> history leading up to the resurrection of O'Caml, the language: >> https://medium.com/@kirbyurner/stories-from-cyberia-fc857867e147 >> >> [3] middle school: next Coding with Kids gig starts tomorrow: >> https://youtu.be/6qlj_AZqpto (a look at Codesters) >> >> [4] adults: next SAISOFT gig starts in February: >> https://github.com/4dsolutions/SAISOFT >> (lots of Jupyter Notebooks; we also use Spyder and vs code, both with >> Anaconda) >> >> >>
_______________________________________________ Edu-sig mailing list Edu-sig@python.org https://mail.python.org/mailman/listinfo/edu-sig