gpt4 book ai didi

javascript - 我如何将这段 JavaScript 代码翻译成 Python 代码?

转载 作者:行者123 更新时间:2023-11-30 19:23:38 24 4
gpt4 key购买 nike

抱歉,我知道这可能是一个奇怪的问题,但我编写了这个基本的 JavaScript 程序,但我不确定我应该查找什么才能知道如何将它转换为具有相同功能的 python 程序。我知道代码是如何工作的,但我不知道它的技术术语是什么,所以我正在努力寻找如何在 python 中执行它。任何帮助将不胜感激。谢谢!


var myArray = [];

var myCache = {

add: function a(x){
myArray.shift();
myArray.push(x);
},

access: function b(z){
var zLocation = myArray.indexOf(z);
var temp1 = myArray.slice(0,zLocation);
var temp2 = myArray.slice(zLocation+1, myArray.length);
temp1 = temp1.concat(temp2);
temp1.push(z);
myArray = temp1;
},

print: function c(){
console.log("Current array is: " + myArray);
},

size: function d(y){
yArray.length = y;
}
};

myCache.add(7);

我不知道如何将添加、访问、打印和大小功能添加到我用 Python 创建的内容中。谢谢!

最佳答案

由于 python 是一种面向对象的语言,因此获取对象的方法基本上是创建一个类,该类充当该对象的不同实例化的蓝图/原型(prototype)。所以你的代码翻译成 python 可能看起来或多或少像这样:

(所有 python 专业人士,请原谅我,我不是 =D)

class MyCache:
def __init__(self, *args, **kwargs):
# in python the most similar to a javascript array is a list
# to make it a bit more readable `myArray` is called `_cache` here
self._cache = []

def add(self, x):
# do not try to pop() from an empty list, will throw an error
if self._cache:
self._cache.pop(0)

self._cache.append(x)

def access(self, z):
# index() is a bit whimpy in python...
try:
i = self._cache.index(z);
# I think we don't need the .slice() stuff here,
# can just .pop() at the index in python
self._cache.pop(i)
self._cache.append(z)
except ValueError as err:
print(err)

def size(self, y):
# not sure what you want to do here, initialize the cache with
# an array/list of a specific length?
self._cache = [None] * y

# print is a reserved word in python...
def status(self):
print("Current array is: ")
print(self._cache)

# instantiate the class (e.g. get a cache object)
# and do some stuff with it..
cache = MyCache()
cache.add(7)
cache.status()
cache.add(10)
cache.status()
cache.add(3)
cache.status()
cache.access(3)
cache.status()

不确定这是否真的在做您期望的事情,您在缓存中总是只有 1 个值,因为 add() 方法总是会删除一个...所以 access 方法有点没有意义......但也许它只是你简化的示例代码?

关于javascript - 我如何将这段 JavaScript 代码翻译成 Python 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57169568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com