1 Java代码示例
//定义一个类
class Triple {
int user;
int item;
double rating;
}
- 1
- 2
- 3
- 4
- 5
//声明对象数组
Triple[] dataset = new Triple[20];
- 1
//利用对象数组访问成员变量
for(int i = 0; i < dataset.length; i ++){
dataset[i].user = 0;
dataset[i].item = 0
dataset[i].rating = 0;
}
- 1
- 2
- 3
- 4
- 5
问题一:如何利用python实现类似功能呢?
问题二:如何利用python将对象数组作为参数?
public void function1(Triple[] paraDataset){
for(int i = 0; i < paraDataset.length; i ++){
paraDataset[i].user = 0;
paraDataset[i].item = 0
paraDataset[i].rating = 0;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
2 Python代码(针对问题1)
#定义一个类
class Triple:
def __init__(self, para_user: int = 0, para_item: int = 0, para_rating: float = 0):
self.user = para_user
self.item = para_item
self.rating = para_rating
- 1
- 2
- 3
- 4
- 5
#声明一维对象数组
dataset = [Triple() for _ in range(20)]
- 1
#声明二维对象数组
dataset = [[Triple() for _ in range(5)] for _ in range(4)]
- 1
#利用对象数组访问成员变量
for i in range(20):
dataset[i].user = 0
dataset[i].item = 0
dataset[i].rating = 0
- 1
- 2
- 3
- 4
3 对象数组作为参数(针对问题2)
#参数可以不指定类型
def function1(param = None):
for i in range(20):
param[i].user = 0
param[i].item = 0
param[i].rating = 0
- 1
- 2
- 3
- 4
- 5
因为python是动态类型,所以在编写代码的时候并不会提示。