小编Pet*_*one的帖子

Python format()传递一个对象

如果我在Python中定义以下自定义类:

class Test:
    hey = 'ho'
    yo = 'go'
    fo = 'sho'
Run Code Online (Sandbox Code Playgroud)

有没有办法使用字符串format()方法只需要传入我的对象一次,然后在所有参数中访问它.理想情况下,我希望能够做到这样的事情:

test_class = Test()
print "Hey {0.hey}, let's {1.yo}. Fo' {2.sho}".format(test_class)
Run Code Online (Sandbox Code Playgroud)

但我必须这样做:

test_class = Test()
print "Hey {0.hey}, let's {1.yo}. Fo' {2.sho}".format(test_class, test_class, test_class)
Run Code Online (Sandbox Code Playgroud)

python format python-2.7

3
推荐指数
2
解决办法
73
查看次数

使用 Python 字典进行静态类型分析

有人可以解释为什么这段代码虽然有效,但却使 mypy 静态分析器以多种方式抱怨:

ranges = dict()
ranges['max'] = 0
ranges['services'] = []
ranges['services'].append('a')
Run Code Online (Sandbox Code Playgroud)

即:

ranges = dict()
ranges['max'] = 0
ranges['services'] = []
ranges['services'].append('a')
Run Code Online (Sandbox Code Playgroud)

如果我简单地向初始变量添加类型提示,ranges: dict = dict()它就可以正常工作。

我很困惑为什么静态分析器不能自己解决这个问题,特别是当我dict在第一个实例中使用关键字来初始化字典时。

python mypy

3
推荐指数
1
解决办法
3389
查看次数

相当于 PHP array_column 的 Python

在 PHP 中,我经常使用array_column()函数,因为它允许我从一个数组中的特定列中检索值,在一个漂亮的数组中返回自己,例如,使用这个数组:

$users = [
    [
        'id' => 1,
        'name' => 'Peter'
    ],
    [
        'id' => 2,
        'name' => 'Paul'
    ],
    [
        'id' => 3,
        'name' => 'John'
    ]
];
Run Code Online (Sandbox Code Playgroud)

array_column($users, 'name')将返回:

Array
(
    [0] => Peter
    [1] => Paul
    [2] => John
)
Run Code Online (Sandbox Code Playgroud)

自从过渡到 Python 后,我仍然没有找到一个内置函数,我可以用它在 a listof dicts上做同样的事情。

这样的功能是否存在,如果不存在,实现这一目标的最佳方法是什么?

php python arrays

2
推荐指数
1
解决办法
1914
查看次数

条件if语句

我想在条件语句中添加一个类别列表,我应该如何添加多个类别ID?使用像123,124,125或123 || 124

我有一个很大的类别列表,所以我正在寻找最简洁的方法来实现这一目标

谢谢

<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->get('Magento\Framework\Registry')->registry('current_product');
$categories = $product->getCategoryIds(); /*will return category ids array*/
foreach($categories as $category){
    $cat = $objectManager->create('Magento\Catalog\Model\Category')->load($category);
    echo $cat->getId();
    }

?>

  <?php if($cat->getId()==123): ?>
    <?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('myblockid')->toHtml();?>
    <?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

php magento

0
推荐指数
1
解决办法
85
查看次数

CSS 链接中的 media="print" 是什么意思?

我发现为了使我的一个包正常工作,我必须添加media="print"到链接,如下所示:

<link rel="stylesheet" href="my_href" media="print">
Run Code Online (Sandbox Code Playgroud)

但它有什么media="print"作用呢?

html css

0
推荐指数
1
解决办法
2127
查看次数

标签 统计

python ×3

php ×2

arrays ×1

css ×1

format ×1

html ×1

magento ×1

mypy ×1

python-2.7 ×1