小编AK4*_*K47的帖子

常量的C#命名约定?

private const int THE_ANSWER = 42;
Run Code Online (Sandbox Code Playgroud)

要么

private const int theAnswer = 42;
Run Code Online (Sandbox Code Playgroud)

我个人认为在现代IDE中我们应该使用camelCase,因为ALL_CAPS看起来很奇怪.你怎么看?

c# const naming-conventions

391
推荐指数
9
解决办法
18万
查看次数

使用 Python 向 Microsoft Teams 发送自动消息

我想运行一个 Python 脚本,最后通过 MS Teams 将结果以文本格式发送给几个员工

是否有任何已经构建的库允许我通过 Python 代码在 Microsoft Teams 中发送消息?

python microsoft-teams

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

Python:参数解析验证最佳实践

是否可以在解析参数时使用argparse模块添加验证?

from argparse import ArgumentParser

parser = ArgumentParser(description='Argument parser for PG restore')

parser.add_argument('--database', dest='database',
                    default=None, required=False, help='Database to restore')

parser.add_argument('--backup', dest='backup',
                    required=True, help='Location of the backup file')

parsed_args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

是否可以在此参数解析器中添加验证检查,以确保备份文件/数据库存在?而不是必须在此之后为每个参数添加额外的检查,例如:

from os.path import exists
if not database_exists(parsed_args.database):
    raise DatabaseNotFoundError
if not exists(parsed_args.backup):
    raise FileNotFoundError
Run Code Online (Sandbox Code Playgroud)

python validation argparse

15
推荐指数
3
解决办法
9217
查看次数

python - 迭代字典列表和解包

给出一个简单的词典列表

lst = [{'key1': 1}, {'key2': 2}, {'key3': 3}]
Run Code Online (Sandbox Code Playgroud)

我想找到一个dict,它产生使用此处未详述的方法评估的最小值.我的第一个想法是迭代列表以通过dict检查dict,但是这失败了:

for k, v in [x.items() for x in lst]:
    print(k, v)
Run Code Online (Sandbox Code Playgroud)

结果ValueError(以及使用生成器而不是列表):

for k, v in [x.items() for x in lst]:
ValueError: not enough values to unpack (expected 2, got 1)
Run Code Online (Sandbox Code Playgroud)

然而,

for x in lst:
    for k, v in x.items():
        print(k, v)
Run Code Online (Sandbox Code Playgroud)

产量

key1 1
key2 2
key3 3
Run Code Online (Sandbox Code Playgroud)

正如所料.我假设所有方法都按预期工作(除非PEBKAC),但为什么它不能使用列表理解?有人可以开导我吗?

编辑:我使用python 3,我知道items()产生一个dict_view,但我不明白为什么逻辑不起作用.

python list-comprehension argument-unpacking python-3.x

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

如果我删除带有索引的PG表,索引是否仍然存在?

如果我正在删除并重新创建索引的Postgres表,那么索引是否仍然存在?

我是否需要在重新创建表后删除并重新索引表,或者我只需要在新表上重新创建索引并将旧索引的清理留给Postgres?

postgresql postgresql-9.2

10
推荐指数
1
解决办法
2369
查看次数

获取基于字段的大型对象列表的最有效组合

在给定一定的预算和组合的最大限制的情况下,我希望最大限度地增加星星的数量。

示例问题:

预算为 500 欧元,只访问允许的最大餐厅或更少,用餐并收集尽可能多的星星。

我正在寻找一种高效的算法,它可能会处理 100 万个餐厅实例,最多 10 个餐厅。

请注意,这是我昨天问的一个问题的交叉帖子: Java:基于字段获取大型对象列表的最有效组合

下面的解决方案将为r8餐厅分配每颗星 15 美元,这意味着在生成列表时,它首先将其放入列表中,剩下的 70 美元只能再获得 2 颗星,总共 4 颗星。但是,如果它足够聪明,可以跳过r8餐厅(即使它是每星级的最佳美元比率),该r1餐厅实际上是预算的更好选择,因为它的成本为 100 美元和 5 颗星。

任何人都可以帮助尝试解决问题并击败当前的解决方案吗?

import itertools

class Restaurant():
  def __init__(self, cost, stars):
    self.cost = cost
    self.stars = stars
    self.ratio = cost / stars

  def display(self):
    print("Cost: $" + str(self.cost))
    print("Stars: " + str(self.stars))
    print()

r1 = Restaurant(100, 5)
r2 = Restaurant(140, 3)
r3 = Restaurant(90, 4)
r4 = Restaurant(140, 3)
r5 = …
Run Code Online (Sandbox Code Playgroud)

python combinations knapsack-problem python-3.x

9
推荐指数
1
解决办法
532
查看次数

在熊猫中舍入到最接近的 1000

我已经搜索了 pandas 文档和食谱,很明显您可以使用dataframe.columnName.round(decimalplace).

你如何用更大的数字做到这一点?

例如,我有一列房价,我希望它们四舍五入到最接近的 10000 或 1000 或其他。

df.SalesPrice.WhatDoIDo(1000)? 
Run Code Online (Sandbox Code Playgroud)

python pandas data-science

8
推荐指数
1
解决办法
6828
查看次数

Python:如何使用PIL模块调整图像大小

我正在尝试将图像大小调整为500x500px但出现此错误:

File "C:\Python27\lib\site-packages\PIL\Image.py", line 1681, in save
     save_handler = SAVE[format.upper()] KeyError: 'JPG'
Run Code Online (Sandbox Code Playgroud)

这是代码:

from PIL import Image
img = Image.open('car.jpg')
new_img = img.resize((500,500))
new_img.save('car_resized','jpg')
Run Code Online (Sandbox Code Playgroud)

python python-2.x image-resizing python-2.7

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

Python 3 - 使用两个不同的值进行计数

我试图弄清楚如何计算在两个不同数字(如2和3)之间交替的某个整数(作为范围).因此输出将是2 5 7 10 12 15等.

我开始尝试改变一个简单的while循环,如下所示,取两个值:

a = 0 
while a < 100: 
    a = a + 2 + 3
    print(a, end=' ')
Run Code Online (Sandbox Code Playgroud)

但它最终只能计算到100乘5.

我已经尝试了数字范围和循环和模块,如itertools尝试找出一种方法来做到这一点,我完全被难倒了.

我在搜索之后执行了搜索,所有我能找到的是通过一个带有循环和范围的数字来计算.

python iteration loops

7
推荐指数
2
解决办法
181
查看次数

尝试...除非不是

最近,我遇到了一个从未见过的代码示例:

try:
    # a simple bunch of code
    if sample == 0:
        return True
    else:
        raise ExampleError()
except not ExampleError:
    raise AnotherExampleError()
Run Code Online (Sandbox Code Playgroud)

它是如何工作的(如果有的话)?

python exception try-catch python-2.7

7
推荐指数
1
解决办法
102
查看次数