- “exit” - ✈️: Use exit() or Ctrl-D (I.e. EOF) to exit - I mean if they can see that we type exit and show us this message, why could they not just start the exiting when we type exit? - Because exit might be a variable you use to determine if you should exit. exit() is a function that actually does the exiting. - It’s the difference between pointing at a jogger and saying “run” and actually running after them. - If you have a variable called - exityou’ve overwritten the function in that scope, and won’t be able to execute it.- e.g. - >>> exit=1 >>> exit() Traceback (most recent call last): File "", line 1, in TypeError: 'int' object is not callable >>>- Reminds me of setting pi = 3 in my friends matlab subroutines in school. 
- wow it does do that. cool 
 
 
- Guessing at what the programmer wants instead of implementing consistent behaviour is what Javascript does. Do you want Python to become Javascript? - Just once I want - '1' + '2'to equal- '3'. Is that so much to ask?- You want to remove the string concatenation operator? Cause that’ll do it - I think every language needs a - pleaseoperator, which acts to enforce human expectation of a statement:- '1' + '1' ## evaluates to '11' please '1' + '1' ## evaluates to '2'- I kinda like that 
 
 
- Yes. Yes it is. 
 
 
- This is the code (Github link): - class Quitter(object): def __init__(self, name, eof): self.name = name self.eof = eof def __repr__(self): return 'Use %s() or %s to exit' % (self.name, self.eof) def __call__(self, code=None): # Shells like IDLE catch the SystemExit, but listen when their # stdin wrapper is closed. try: sys.stdin.close() except: pass raise SystemExit(code)- What happens is that the python repl calls - __repr__automatically on each variable/statement that you type into the repl (except assignments e.g.- x = 1). But this basically only happens in the repl. So “executing” only- exitwouldn’t work in a python script as it is not calling- __repr__automatically, so better you learn how to do it right than using just- exitin your python scripts and scratching your head why it works in the repl but not in your code.
- Because python has strong opinions 
 
 
- import gravity; gravity = None- edit: of course there is an xkcd: https://xkcd.com/353/. - Incidentally, for anyone who hasn’t typed ‘import antigravity’ into an interactive Python terminal…you should - as Dr Seuss says, “These things are fun, and fun is good.” - I love how it contains exactly one function: - from antigravity import geohash- Hell, this is the entire antigravity library: - import webbrowser import hashlib webbrowser.open("https://xkcd.com/353/") def geohash(latitude, longitude, datedow): '''Compute geohash() using the Munroe algorithm. >>> geohash(37.421542, -122.085589, b'2005-05-26-10458.68') 37.857713 -122.544543 ''' # https://xkcd.com/426/ h = hashlib.md5(datedow, usedforsecurity=False).hexdigest() p, q = [('%f' % float.fromhex('0.' + x)) for x in (h[:16], h[16:32])] print('%d%s %d%s' % (latitude, p[1:], longitude, q[1:]))- He literally gets a 32-bit hash, uses the first half of it as the latitude decimal, and the second half of it as the longitude decimal, 
- NO WAY 
 
- You now start flying away - And so does everything else, including all the AIR 
 
- What’s the name of the Island, Java? - Snake island 
 
- See it’s funny because we name things after other things 
- The Python REPL is fucking good. - I see you’ve never used a Lisp REPL before. 
- No, it’s not: https://github.com/prompt-toolkit/ptpython. - That’s giving me a 404, captain - Not to me - deleted by creator 
 
- You can search it yourself. The PYPI package is ptpython. 
 
- https://github.com/prompt-toolkit/ptpython - the dot at the end of your link breaks it - On Sync it works fine. Moreover, it should work on other clients too. You better open a ticket.   
 
 
 
- Source: Help – The Jenkins - Thanks! 
 









