1.3. 语法支持

支持 python3 标准语法的子集。

1.3.1. 对象支持

语法 编译时 运行时 Shell
模块定义 √ - -
模块导入 √ √ √
类定义 √ √ √
类继承 √ √ √
方法定义 √ √ √
方法重载 √ √ √
方法调用 √ √ √
参数定义 √ √ √
参数赋值 √ √ √
对象新建 √ √ √
对象销毁 √ √ √
对象嵌套 √ √ √
控制流 √ √ √

1.3.2. Operator

+ - * / == > < >= <= % ** // != & >> << and or not in += -= *= /=
√ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √

1.3.3. Control flow

Syntax State
if √
while √
for in [list] √
for in range(a, b) √
for in [dict] √
if elif else √
for break/continue √
while break/continue √

1.3.4. Module

Syntax Python Module C Module
import [module] √ √
import [module] as √ -
from [module] import [class/function>] √ -
from [module] import [class/function>] as √ -
from [module] import * - PikaObj Module Only

1.3.5. List/Dict

Syntax State
l = list() √
l = [a, b, c] √
d = dict() √
d = {'a':x, 'b':y, 'c':z} √

1.3.6. Slice

Syntax str bytes list
test[i] √ √ √
test[a : b] √ √ √
test[a :] √ √ √

1.3.7. Function Arguments

Syntax State
Default Arguments √
Keyword Arguments √
Variable Positional Arguments (*args) √
Variable Keyword Arguments (**kwargs) √

1.3.8. String Formatting

Syntax State
%-formatting √
str.format() -
f-strings (formatted string literals) -

1.3.9. Comparison Operations

Syntax Number List Dictionary
Equal (==) √ - -
Greater Than (>) √ - -
Less Than (<) √ - -
Greater Than or Equal To (>=) √ - -
Less Than or Equal To (<=) √ - -
Membership (in) - √ √ (keys)
Non-membership (not in) - √ √ (keys)
Identity (is) √ √ √
Non-identity (is not) √ √ √

1.3.10. Exception

Syntax State
try: √
except: √
except [Exception]: -
except [Exception] as [err]: -
except: ... else: -
raise: √
raise [Exception]: -
finally: -

1.3.11. Context Managers

Syntax State
with statement -
custom context managers (using enter and exit methods) -

1.3.12. Generators

Syntax State
generator functions (using 'yield') -
generator expressions -