小编tob*_*s_k的帖子

在 python 中同时使用显式参数和 **kwargs

我有这段代码:

kwargs_input = {"name": "lala", "age": 25, "postcode": 17867}

def print_kwargs(**kwargs):
    for k,v in kwargs.items():
        print(k,v)

def func_print(name="lolo", age=56, **kwargs):
    print_kwargs(**kwargs)

print(func_print(**kwargs_input))
Run Code Online (Sandbox Code Playgroud)

它打印:

postcode 17867
None
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  1. 为什么nameage不打印?我期望使用传递的参数来覆盖名称( lolo)和年龄( )的默认值56**kwargs_input ) 的默认值。那可能吗?
  2. 从哪里来None

python

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

eclipse自动完成

我注意到qtCreator比eclipse更好地处理自动完成.

举例来说,如果我有这样一行object.firstItem(),并把我的光标之间.f,然后删除first字(从而成为object.|item()),然后按ctrl+ space和选择secondItem(),qtCreator猜测object.secondItem();,而日食选object.firstItem()Item().

qtCreator中也可能存在其他功能,但不会出现在eclipse中,尽管它是我真正注意到的唯一功能.但是,为什么不分享所有好主意,因为它们都是开源的?我会对qtCreator和eclipse的所有好功能感兴趣.

有没有办法在eclipse中通过配置或通过插件获得这样的行为?

eclipse

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

属性getProperty返回null

我有以下问题.我正在使用Java属性来读取文件的一些信息,但是当我调用prop.getProperty("var")它时返回null.我没有想法了.这是我的代码.

static final Properties prop = new Properties();
public JConnection(){
    try{
        prop.load(new FileInputStream("db.properties"));
    }catch(Exception e){
        logger.info("file not found.");
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

我从来没有收到错误消息"找不到文件".

 public static Connection getConnection(String conType) {
    Connection conn;
    try {
        Class.forName("oracle.jdbc.driver.OracleDriver"); 
        if(model == "client"){
             conn = DriverManager.getConnection(prop.getProperty("url"),prop.getProperty("usr"),prop.getProperty("pass"));  
        }else{
            conn = DriverManager.getConnection(prop.getProperty("url1"),prop.getProperty("usr1"),prop.getProperty("pass1")); 
        }
    } catch (Exception ex) {            
        ex.printStackTrace();
        conn = null;
    }
Run Code Online (Sandbox Code Playgroud)

当它尝试连接到数据库时,getProperty正在返回,null因为找不到它.任何想法可能是什么或我做错了什么?

java

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

如何在PHP中检查域名服务器?

我需要检查名称服务器域正在使用什么,但无法在PHP中找到正确的解决方案.

我曾尝试checkdnsrr();dns_get_record();,他们都没有表现出对NS一些正在域.Whois也不是解决方案.

我的目的是过滤具有名称服务器设置但没有设置名称服务器的域.这有什么解决方案吗?

php lookup dns nameservers

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

方法能否返回不同的数据类型?

我有一个名为的班级matFactory().在其中,有一个名为的方法lastAddedObj(..).

后一种方法接收ArrayList一个参数作为参数,并返回此列表中最后添加的对象.

我的问题是:我有两个类型的列表,ArrayList<Mat>ArrayList<MatOfKeyPoint>我想的方法lastAddedObject是适用于这两种类型.正如您在下面看到的方法签名:

public Mat lastAddedObj(ArrayList<Mat> list) {
....
....
    return list.get(size -1);
}
Run Code Online (Sandbox Code Playgroud)

我希望这种方法能够两个ArrayList<Mat>ArrayList<MatOfKeyPoint>,因为当你看到上面的,如果我通过ArrayList<Mat>它将返回Mat对象,如果将通过ArrayList<MatOfKeyPoint>将返回MatOfKeyPoint对象.

如何解决这个问题?

java list arraylist

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

粘贴代码会产生多个错误

我直接从我的教科书中复制了这个块,并收到了许多错误消息,我无法解决这些错误消息。我已经阅读并重读了我的书的一部分,据我所知,它都是一个街区,所以我很困惑为什么会有意外的缩进。我将在我的区块下方发布我正在努力解决的错误。

import math

def archimedes (sides):

      innerangleB = 360.0 / sides
      halfangleA = innerangleB / 2

      onehalfsideS = math.sin(math.radians(halfangleA))

      sideS  =  onehalfsideS * 2

      polygonCircumference = sides * sideS

      polygonCircumference = sides * sideS
      pi = polygonCircumference/2

      return pi
Run Code Online (Sandbox Code Playgroud)

...这里是错误:

>>> import math
>>> 
>>> def archimedes (sides):
... 
  File "<stdin>", line 2

    ^
IndentationError: expected an indented block
>>>       innerangleB = 360.0 / sides
  File "<stdin>", line 1
    innerangleB = 360.0 / sides
    ^
IndentationError: unexpected indent
>>>       halfangleA …
Run Code Online (Sandbox Code Playgroud)

indentation python-3.4

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

Python从字符串中删除分隔符

我有2个相关的问题/问题.

def remove_delimiters (delimiters, s):
    for d in delimiters:
        ind = s.find(d)
        while ind != -1:
            s = s[:ind] + s[ind+1:]
            ind = s.find(d)

    return ' '.join(s.split())


delimiters = [",", ".", "!", "?", "/", "&", "-", ":", ";", "@", "'", "..."]
d_dataset_list = ['hey-you...are you ok?']
d_list = []

for d in d_dataset_list:
    d_list.append(remove_delimiters(delimiters, d[1]))

print d_list
Run Code Online (Sandbox Code Playgroud)

输出= 'heyyouare you ok'

  1. 删除分隔符时,避免将字符串组合在一起的最佳方法是什么?例如,输出是hey you are you ok

  2. 可能存在许多不同的序列...,例如..或者..........等等.如何实现某种形式的规则,如果不止一个规则.出现在彼此之后,将其删除?我想尝试避免在我的分隔符列表中对所有序列进行硬编码.谢谢

python

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

2.5 // 2.0在Python 3.x中返回float而不是int的原理是什么?

2.5 // 2.0返回Python float而不是intPython 3.x 的理由是什么 ?如果它是一个整数值,为什么不把它放在一个类型int对象中呢?

[编辑]

我正在寻找这样一个事实的理由.以这种方式做出的论点是什么?还没找到它们.

[EDIT2]

这种关系floor比"地板划分"这个术语更有问题!

floor(3.5 / 5.5) == 0 (INT)

3.5 // 5.5 == 0.0 (浮动)

还不能辨别出任何逻辑:(

[EDIT3]

来自PEP238:

在统一模型中,整数1应该与浮点数1.0无法区分(除了它的不精确性),并且两者在所有数字上下文中的行为应该相同.

一切都非常好,但像Numpy这样不重要的图书馆在提供花车作为指数时抱怨,即使它们是不可或缺的.所以'难以区分'还不是现实.花了一些时间来寻找与此相关的错误.我很惊讶地了解了它的真实本质//.从文档(对我来说)来说并不是那么明显.

由于我对Python 3.x的设计非常信任,我认为我一定错过了//以这种方式定义的非常明显的理由.但现在我想知道......

python

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

理解Python中的__init__

我正在处理我收到的Python文件,当我在Python中进行初始化时,我看到一个包含多种变量的类.我不清楚在定义属性时应该遵循什么逻辑,哪些是初始化或不是,在代码的一部分下面:

class Simulator(object):
    colors = {'gray'    : (155, 155, 155)}

    def __init__(self, env, size=None, update_delay=2.0, display=True):
        self.env = env
        self.size = size if size is not None else self.env.grid_size[0]
        self.road_width = 44
        self.bg_color = self.colors['gray']

        self.quit = False
        self.start_time = None
        self.current_time = 0.0
        if self.display:
            try:
                self.pygame = importlib.import_module('pygame')
                self.pygame.init()
                self.screen = self.pygame.display.set_mode(self.size)
Run Code Online (Sandbox Code Playgroud)

例如:

  • env :它在括号中声明,稍后在初始化 - >清除

  • size:它已声明,但初始化时使用self.env.grid_size[0].怎么env会有一个grid_size没有定义或初始化的属性?

  • road_with:为什么括号中没有提到它?我会把road_with括号放在默认值为44的括号中

  • bg_color:为什么它没有在括号中定义?

  • 为什么quit,start_time,current_time未在括号中定义? …

python oop

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

Closure : 一个函数,它返回上一次调用的值

我正在尝试构建一个函数,该函数使用闭包返回其先前调用的值。第一次调用函数时,它将返回 None。我不确定如何将 last_in 从一个调用更新到另一个调用。

def last_in(x):
    last_in = [None]

    def get():
        temp = last_in[0]
        last_in[0] = x
        # print(last_in)
        return temp
    return get()

Run Code Online (Sandbox Code Playgroud)

例如,print(last_in(1),last_in(2),last_in(3))应该打印:None 1 2

python

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

标签 统计

python ×5

java ×2

arraylist ×1

dns ×1

eclipse ×1

indentation ×1

list ×1

lookup ×1

nameservers ×1

oop ×1

php ×1

python-3.4 ×1