小编drj*_*eep的帖子

根据Python中的一组索引将列表拆分为多个部分

基于任意数量的索引将列表拆分为多个部分的最佳方法是什么?例如,给出下面的代码

indexes = [5, 12, 17]
list = range(20)
Run Code Online (Sandbox Code Playgroud)

返回这样的东西

part1 = list[:5]
part2 = list[5:12]
part3 = list[12:17]
part4 = list[17:]
Run Code Online (Sandbox Code Playgroud)

如果没有索引,则应返回整个列表.

python list

50
推荐指数
4
解决办法
5万
查看次数

Python动态函数名称

我正在寻找一种更好的方法来调用基于Python中的变量的函数与使用if/else语句(如下所示).每个状态代码都有相应的功能

if status == 'CONNECT':
    return connect(*args, **kwargs)
elif status == 'RAWFEED':
    return rawfeed(*args, **kwargs)
elif status == 'RAWCONFIG':
    return rawconfig(*args, **kwargs)
elif status == 'TESTFEED':
    return testfeed(*args, **kwargs)
...
Run Code Online (Sandbox Code Playgroud)

我认为这将需要某种工厂功能,但不确定语法

python factory

9
推荐指数
4
解决办法
2万
查看次数

使用__getattr__更改Django模型的行为

我正在尝试更改Django模型的行为,以允许我直接从父级访问外键的属性,例如

cache.part_number  
vs  
cache.product.part_number
Run Code Online (Sandbox Code Playgroud)

我尝试重写该__getattr__方法如下,但当我尝试访问外键的属性时,我收到一个递归错误

class Product(models.Model):
    part_number = models.CharField(max_length=10)
    ...

class Cache(models.Model):
    product = models.ForeignKey(Product)
    ...

    def __getattr__(self, name):
        value = getattr(self.product, name, None)
        if value:
            return value
        else:
            raise AttributeError
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python django class

5
推荐指数
1
解决办法
3629
查看次数

标签 统计

python ×3

class ×1

django ×1

factory ×1

list ×1