小编Len*_*bro的帖子

Python:旧式(或经典)和新式对象的方法解析顺序

我已经阅读了很多关于Python文档中的对象的内容,它们在某些方面区分了这两个:

  • 旧式实例独立于其类,使用单个内置类型(称为实例)实现.
  • 新式类既不是用户定义的类型,也不是用户定义的类型.

任何人都可以向我解释这个"旧式(或经典)和新式".

我无法弄清楚这条线试图说的是什么:

"对于新式类,方法解析顺序动态变化以支持对super()的协作调用".

python oop class object

4
推荐指数
1
解决办法
641
查看次数

根据给定的数字数组创建一个几乎唯一的标识符

给定一组数字,我想创建一个数字标识符,表示该组合尽可能唯一.

例如:

int[] inputNumbers = { 543, 134, 998 };
int identifier = createIdentifier(inputNumbers);
System.out.println( identifier );
Run Code Online (Sandbox Code Playgroud)

输出:

4532464234
Run Code Online (Sandbox Code Playgroud)

- 返回的号码必须尽可能唯一

- 元素的排序必须影响结果

- 算法必须始终从同一输入数组返回相同的结果

- 算法必须尽可能快地在'for'循环中使用

该算法的目的是创建一个存储在DB中的小值,并且易于比较.这并不重要,所以一些数字数组返回相同的值是可以接受的,但这种情况必须是罕见的.

你能建议一个很好的方法来实现这个目标吗?

java arrays algorithm math

4
推荐指数
1
解决办法
766
查看次数

嵌套类是否有用例?

我最近看到有几个人在Stackoverflow上做这样的事情:

class A:
    foo = 1

    class B:
        def blah(self):
            pass
Run Code Online (Sandbox Code Playgroud)

换句话说,他们有嵌套类.这是有效的(虽然Python新手似乎遇到了问题,因为它的行为并不像他们想象的那样),但我想不出任何理由在任何语言中都这样做,当然也不是在Python中.有这样的用例吗?为什么人们这样做?搜索它似乎在C++中相当普遍,有充分的理由吗?

c++ ruby python oop

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

python将字符串转换为datetime

我有一个循环,我尝试处理数据集,其中一个操作是将普通字符串转换为日期时间.一切都很好,除了有时发生一个奇怪的事情......这就是我所知道的

  • 总是有完全相同的参数进入函数
  • 这些参数始终是相同的类型
  • 我第一次运行它,它总是会受到影响
  • 当它到达appx循环中的第二个元素时80%抛出和值错误(时间数据与格式不匹配)
  • 但是在我再次运行它之后,一切都还可以,它会被下一个元素卡住......

因为我的功能很大而且有很多东西在讨价还价我决定为你提供一些我在这里写的saple代码,只是为了澄清:

data = ['January 20 1999', 'March 4 2010', 'June 11 1819']
dformat = '%B %d %Y'

for item in data:
    out = datetime.datetime.strptime(item, dformat)
    print out
Run Code Online (Sandbox Code Playgroud)

虽然这显然适用于我的程序,但它没有...我已经尝试了我想出的所有内容但尚未成功,因此我很高兴有任何想法,你提供谢谢

顺便说一句:我总是看到这样的错误

ValueError: time data did not match format:  data=March 4 2010  fmt=%B %d %Y
Run Code Online (Sandbox Code Playgroud)

python datetime date

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

"无法初始化类com.ibm.icu.impl.JavaTimeZone"是什么意思?

"发生错误.有关详细信息,请参阅错误日志.无法初始化类com.ibm.icu.impl.JavaTimeZone"

android

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

什么是python __get__方法适合?

__get__在拥有对象上使用getter方法无法实现的目标是什么?

我可以考虑更好地分离关注点,但我想还有更多.

python

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

AttributeError:对象没有属性'execute'

每当我运行程序时,我都会收到此错误.

Traceback (most recent call last):
  File "C:/Users/Shepard/Desktop/Gradebook.py", line 51, in <module>
    qs.CreateDb()
  File "C:/Users/Shepard/Desktop/Gradebook.py", line 14, in CreateDb
    self.cursor.exeute(query)
AttributeError: 'sqlite3.Cursor' object has no attribute 'exeute'
Run Code Online (Sandbox Code Playgroud)

这使我相信我的问题在于:

 def CreateDb(self):
        query = """CREATE TABLE questions
                 (id INTEGER PRIMARY KEY, Question TEXT, Answer1 TEXT, Answer2 TEXT, Answer3 TEXT, Answer4 TEXT, CorrectAnswer TEXT)"""
        self.cursor.exeute(query)
        self.connection.commit()
        self.cursor.close()
Run Code Online (Sandbox Code Playgroud)

无论是在那个,还是在...

def AddQuestion(self, Question, Answer1, Answer2, Answer3, Answer4):
    self.cursor.execute("""INSERT INTO questions
                        VALUES (?, ?, ?, ?, ?, ?)""", [None, Question, Answer1, Answer2, Answer3, Answer4, CorrectAnswer])
self.connection.commit() …
Run Code Online (Sandbox Code Playgroud)

python syntax-error python-3.x

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

从另一个列表创建列表 - Python

我正在尝试创建一个程序,用户在其中输入字符串列表,每个字符串都在单独的行中。例如,我希望能够返回第二行中的第三个单词。下面的输入将返回“蓝色”。

input_string("""The cat in the hat 
Red fish blue fish """)
Run Code Online (Sandbox Code Playgroud)

目前我有这个:

def input_string(input):
    words = input.split('\n')
Run Code Online (Sandbox Code Playgroud)

所以我可以使用words[n]输出某一行,但是如何输出特定行中的特定单词呢?我一直在尝试实现能够输入单词[1][2],但我创建多维数组的尝试失败了。

我已经尝试拆分每个单词[n]几个小时,但谷歌没有帮助。如果这是完全显而易见的,我深表歉意,但我几天前才开始使用 Python,并且完全陷入困境。

python arrays list

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

class只取三个参数,给出两个参数

我正在尝试制作我的第一款游戏,它类似于与自行车的tron游戏,到目前为止我已经创建了一个自行车类和几个功能来帮助.但是当它运行如下时,当我尝试用速度声明一个Bike对象时,我得到一个错误,它说:

类Vector正好取三个参数,两个由what_direction函数给出.

这对我来说是个问题,因为我创建了一个用于改变方向的2x2矩阵和一个用向量乘以矩阵的函数.我该怎么做才能解决这个错误?

   import random, math, pygame, sys

    class Vector(object):
        """ |x| = [0]
            |y| = [1] """
        def __init__(self, x, y):
            self.vec = [ x, y]

    def what_direction():  
        x = random.uniform(0.0, 5.0)
        y = math.sqrt(25-(x**2))
        return x, y

    class Bike(object):
        def __init__(self):
            self.position = [random.randint(0, 200), random.randint(0, 200)]
            self.velocity = Vector(what_direction())
            self.score = 0
            self.path_traveled = []
Run Code Online (Sandbox Code Playgroud)

python

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

只获取时间数据过时和时间字符串.

我想只获取这种日期格式的时间数据?在下面的例子中是23:55:00.我试过很多方法,包括datetime.strptime,from dateutil import parser等,但失败了.:(如何用Python做到这一点?

[15/Apr/2013:23:55:00 +0530]
Run Code Online (Sandbox Code Playgroud)

python time

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

标签 统计

python ×8

arrays ×2

oop ×2

algorithm ×1

android ×1

c++ ×1

class ×1

date ×1

datetime ×1

java ×1

list ×1

math ×1

object ×1

python-3.x ×1

ruby ×1

syntax-error ×1

time ×1