📅  最后修改于: 2023-12-03 15:00:25.005000             🧑  作者: Mango
Dip 是一种面向对象的编程语言,支持动态类型和强大的元编程。
Dip 支持常用的数据类型:
'hello'
或 "world"
42
或 3.14
[1, 2, 3]
{'name': 'Alice', 'age': 18}
True
或 False
None
Dip 中定义函数使用 def
关键字和冒号:
def greet(name):
print('Hello, ' + name + '!')
可以使用 return
关键字返回值:
def add(a, b):
return a + b
Dip 中定义类使用 class
关键字和冒号:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self):
print('Hello, my name is ' + self.name + '.')
使用 __init__
方法初始化对象的属性。self
参数指代当前对象。
Dip 支持元编程和反射。可以使用 eval
函数运行字符串中的代码:
code = "print('Hello, world!')"
eval(code)
还可以使用 getattr
函数获取对象的属性或方法:
class Foo:
def bar(self):
return 42
foo = Foo()
method = getattr(foo, 'bar')
result = method()
print(result) # 42
Dip 支持闭包和 lambda 函数。定义一个闭包:
def counter():
count = 0
def inner():
nonlocal count
count += 1
return count
return inner
c = counter()
print(c()) # 1
print(c()) # 2
使用 lambda 函数:
squares = list(map(lambda x: x**2, [1, 2, 3, 4, 5]))
print(squares) # [1, 4, 9, 16, 25]
Dip 自带 REPL,可以在命令行中输入 dip
启动:
$ dip
Dip 1.0.0 (Python 3.8.10)
>>> print('Hello, world!')
Hello, world!
>>> exit()
$
Dip 是一种功能强大,易学易用的编程语言。它支持面向对象编程,多等级继承和多重继承,元编程和反射,闭包和 lambda 函数,以及 REPL。