This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
| Author | kaizhu |
|---|---|
| Recipients | collinwinter, kaizhu, loewis, pitrou |
| Date | 2008年07月13日.16:07:49 |
| SpamBayes Score | 0.00016792925 |
| Marked as misclassified | No |
| Message-id | <1215965335.5.0.484929295663.issue3238@psf.upfronthosting.co.za> |
| In-reply-to |
| Content | |
|---|---|
import/reload now works. accomplished by adding 5 lines in parse_source_module (import.c) to 1st check for the hook __builtins__.parse_source_module_py3k. the hook will automatically compile in py3k format if it finds the magic comment: "# import as py3k\n" * below is a working python 3.0 script integrated w/ numpy. also added: pep3102 Keyword-Only Arguments pep3112 Bytes literals in Python 3000 download: http://www-rcf.usc.edu/~kaizhu/work/py3to2/current/ patched files: ceval.c (unchanged from last) bltinmodule.c (unchanged from last) import.c (added 5 continuous lines to parse_source_module) there r 7 unimplemented pep's remaining: any suggested solutions? pep3107 Function Annotations (easy, just haven't gotten around yet) pep3109/3110 Exceptions in Python 3000 (hard?) pep3120 Using UTF-8 as the default source encoding pep3123 Making PyObject_HEAD conform to C (hard/who cares for 2.x?) pep3131 Supporting Non-ASCII Identifiers (looks emulable) pep3138 String representation in Python 3000 @ any rate, i think its feature complete enough to b useful in certain areas (for me its scientific computing). ################################################################################ """ numpy_py3k.py this is a py3to2 demo showing a python3.0 script being run under python 2.5 & utilizing numpy, a python2.5 extension module. add the magic comment '# import as py3k\n' to import / reload a script in py3k format interactive usage: >>> import py3to2 >>> import numpy_py3k >>> reload(numpy_py3k) commandline usage: python -c 'import py3to2; import numpy_py3k' """ # import as py3k import numpy print('pep3102 Keyword-Only Arguments') # nth order polynomial fit of multiple y data def polyfits(nth, x, *ys, rcond = None, full = False): return [numpy.polyfit(x, y, nth, rcond, full) for y in ys] fits = polyfits(2, # 2nd order fit numpy.arange(16), # x data numpy.random.rand(16), numpy.random.rand(16), # multiple y data rcond = numpy.MachAr().eps, # precision full = False, # return only coeffs ) print('fits', fits); print('#'*64) print('pep3112 Bytes literals in Python 3000') x = bytes( numpy.arange(256, dtype = numpy.int8).tostring() ) print('bytes', x); print('#'*64) print('pep3114 Renaming iterator.next() to .__next__()') x = (x for x in numpy.arange(16)) print('x.__next__()', x.__next__(), x.__next__(), x.__next__()); print('#'*64) print('pep3132 Extended Iterable Unpacking') a,b,*c = numpy.random.rand(4) print('a = %s, b = %s, c = %s'%(a,b,c)); print('#'*64) ################################################################################ |
|
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2008年07月13日 16:08:56 | kaizhu | set | spambayes_score: 0.000167929 -> 0.00016792925 recipients: + kaizhu, loewis, collinwinter, pitrou |
| 2008年07月13日 16:08:55 | kaizhu | set | spambayes_score: 0.000167929 -> 0.000167929 messageid: <1215965335.5.0.484929295663.issue3238@psf.upfronthosting.co.za> |
| 2008年07月13日 16:07:51 | kaizhu | link | issue3238 messages |
| 2008年07月13日 16:07:49 | kaizhu | create | |