In article <org8pq$fgm$1...@gioia.aioe.org>, python@example.invalid says... > > Le 09/10/2017 à 18:22, John Black a écrit : > > I want sep="" to be the default without having to specify it every time I > > call print. Is that possible? > > >>> oldprint = print > >>> def print(*args,**kwargs): > ... oldprint(*args,**kwargs,sep='') > ... > >>> print(1,2,3) > 123
Winner! Thanks all. I want to make sure I understand what this line is doing: > oldprint = print Experimenting, I find this is not a rename because I can use both function names. It looks it literally copies the function "print" to another function called "oldprint". But now, I have a way to modify the builtin funciton "print" by referencing oldprint. Without oldprint, I have no way to directly modify print? For example, based on your post, I tried: def print(*args, **kw): print(*args, sep='', **kw) meaning print calls print (itself) with sep=''. But this failed and I guess the reason is that it would keep calling itself recursively adding sep='' each time? Thanks. John Black -- https://mail.python.org/mailman/listinfo/python-list