mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 19:40:18 +00:00
...
This commit is contained in:
parent
35910d32d6
commit
d1b06f0633
@ -6,7 +6,6 @@
|
|||||||
<img alt="GitHub" src="https://img.shields.io/github/license/blueloveth/pocketpy.svg?color=blue"></a>
|
<img alt="GitHub" src="https://img.shields.io/github/license/blueloveth/pocketpy.svg?color=blue"></a>
|
||||||
<a href="https://github.com/blueloveth/pocketpy/releases">
|
<a href="https://github.com/blueloveth/pocketpy/releases">
|
||||||
<img alt="GitHub release" src="https://img.shields.io/github/release/blueloveth/pocketpy.svg"></a>
|
<img alt="GitHub release" src="https://img.shields.io/github/release/blueloveth/pocketpy.svg"></a>
|
||||||
<a title="Pub" href="https://pub.dev/packages/pocketpy" ><img src="https://img.shields.io/pub/v/pocketpy" /></a>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
**English |** [**简体中文**](README_zh.md)
|
**English |** [**简体中文**](README_zh.md)
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
<img alt="GitHub" src="https://img.shields.io/github/license/blueloveth/pocketpy.svg?color=blue"></a>
|
<img alt="GitHub" src="https://img.shields.io/github/license/blueloveth/pocketpy.svg?color=blue"></a>
|
||||||
<a href="https://github.com/blueloveth/pocketpy/releases">
|
<a href="https://github.com/blueloveth/pocketpy/releases">
|
||||||
<img alt="GitHub release" src="https://img.shields.io/github/release/blueloveth/pocketpy.svg"></a>
|
<img alt="GitHub release" src="https://img.shields.io/github/release/blueloveth/pocketpy.svg"></a>
|
||||||
<a title="Pub" href="https://pub.dev/packages/pocketpy" ><img src="https://img.shields.io/pub/v/pocketpy" /></a>
|
|
||||||
</p>
|
</p>
|
||||||
pocketpy是一个轻量级的Python解释器,为嵌入至游戏引擎而设计,基于C++17和STL。
|
pocketpy是一个轻量级的Python解释器,为嵌入至游戏引擎而设计,基于C++17和STL。
|
||||||
|
|
||||||
|
33
docs/features/differences.md
Normal file
33
docs/features/differences.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
icon: dot
|
||||||
|
title: Comparison with CPython
|
||||||
|
order: 99
|
||||||
|
---
|
||||||
|
|
||||||
|
[cpython](https://github.com/python/cpython) is the reference implementation of the Python programming language. It is written in C and is the most widely used implementation of Python.
|
||||||
|
|
||||||
|
## The design goal
|
||||||
|
|
||||||
|
**pkpy aims to be an alternative to lua for
|
||||||
|
game scripting, not cpython for general purpose programming.**
|
||||||
|
|
||||||
|
+ For syntax and semantics, pkpy is designed to be as close to cpython as possible.
|
||||||
|
+ For ecosystem and others, pkpy is not compatible with cpython.
|
||||||
|
|
||||||
|
pkpy supports most of the syntax and semantics of python.
|
||||||
|
For performance and simplicity, some features are not implemented, or behave differently.
|
||||||
|
|
||||||
|
## Unimplemented features
|
||||||
|
1. `**kwargs` in function definition.
|
||||||
|
2. `__getattr__` and `__setattr__`.
|
||||||
|
3. Descriptor protocol `__get__` and `__set__`. However, `@property` is implemented.
|
||||||
|
4. `__slots__` in class definition.
|
||||||
|
5. `import` module from a directory with `__init__.py`.
|
||||||
|
6. One element tuple. `(1,)` is not supported.
|
||||||
|
7. Unpacking in `list` and `dict` literals, i.e. `[1, 2, *a]`.
|
||||||
|
8. Access the exception object in try..except.
|
||||||
|
|
||||||
|
## Different behaviors
|
||||||
|
1. positional and keyword arguments are strictly evaluated.
|
||||||
|
2. When a generator is exhausted, `StopIteration` is returned instead of raised.
|
||||||
|
3. `++i` and `--j` is an increment/decrement statement, not an expression.
|
Loading…
x
Reference in New Issue
Block a user