小编Kev*_* L.的帖子

Python - 为什么类列在内置函数列表中?

Python文档将property()列为内置函数.

但是,函数描述在docs中有前面的关键字"class".

class 属性(fget = None,fset = None,fdel = None,doc = None)

这也发生在

([iterable])

切片(停止)

这是什么意思? - 为什么类在内置函数下列出.这只是一个文档问题还是有技术原因?

编辑:我不是在询问property()的工作原理.

python

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

Ruby - Array.any是什么意思?(&:nil?)是什么意思?

我是ruby的新手并且正在完成一个教程,但我不确定这行代码意味着什么:

[movie, version_number].any?(&:nil?)
Run Code Online (Sandbox Code Playgroud)

根据我的研究,Array.any?如果数组的任何元素不是false或者,则返回true nil.并且&:nil?意味着调用to_proc()符号,:nil?:nil?.to_proc声明等同于

[movie, version_number].any?(:nil?.to_proc)
Run Code Online (Sandbox Code Playgroud)

这相当于

[movie, version_number].any?{|item| item.nil?}
Run Code Online (Sandbox Code Playgroud)

此外,any?将集合的每个元素(在本例中为Array)传递给{|item| item.nil?}块.

当你把它们放在一起时,代码行是否意味着,nil?在调用数组之前调用Array中的每个元素.any?,即它是否相当于:

[movie.nil?, version_number.nil?].any?
Run Code Online (Sandbox Code Playgroud)

或者,用简单的英语,是否相当于nilmovieversion_number中的任何一个?

ruby

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

Python-类可调用是什么意思?

我试图理解Python中的“可调用对象”是什么,以及类可调用的含义。我在玩以下代码:

class A(object):

    def __init__(self):
        pass

print("Is A callable? " + str(callable(A)))
a=A()
print("created a")
a()
Run Code Online (Sandbox Code Playgroud)

得到以下结果:

Is A callable? True
created a
Traceback (most recent call last):    
File "test2.py", line 11, in <module>
a()
TypeError: 'A' object is not callable  
Run Code Online (Sandbox Code Playgroud)

此外,

print(type(A.__call__()))
Run Code Online (Sandbox Code Playgroud)

给出:

<class '__main__.A'>
Run Code Online (Sandbox Code Playgroud)

这是否意味着A类具有__call__方法?为什么是class类?

A.__call__()每次使用A()实例化时都会被调用吗?

python callable

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

为什么Python列表在实现为动态数组时称为"列表"

我不是如何实现Python列表的专家,但据我所知,它们是作为动态数组而不是链接列表实现的.因此,我的问题是,如果将python列表实现为数组,为什么它们被称为"列表"而不是"数组".

这只是一个语义问题,还是有一些更深层次的技术原因.Python中的动态数组实现是否接近列表实现?或者是因为动态数组实现使其行为更接近列表的行为而不是数组?或者其他一些我不明白的原因?

为了清楚起见,我并没有具体询问如何或为什么将Python列表实现为动态数组,尽管这可能与答案相关.

python arrays list

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

Python“ builtins.TypeError:必须为str,而不是字节”-Twisted LineReceiver.sendLine()

我正在关注Twisted教程(请参阅此处的底部)

我正在尝试连接到聊天服务器,但我不断收到以下错误

File "/Users/kevin/anaconda3/lib/python3.6/site-packages/twisted/internet/tcp.py", line 1073, in doRead
    protocol.makeConnection(transport)
  File "/Users/kevin/anaconda3/lib/python3.6/site-packages/twisted/internet/protocol.py", line 510, in makeConnection
    self.connectionMade()
  File "twisted_chat.py", line 12, in connectionMade
    self.sendLine("What's your name?") <------------- This line
  File "/Users/kevin/anaconda3/lib/python3.6/site-packages/twisted/protocols/basic.py", line 635, in sendLine
    return self.transport.write(line + self.delimiter)
builtins.TypeError: must be str, not bytes
Run Code Online (Sandbox Code Playgroud)

似乎触发此错误的代码是

from twisted.internet.protocol import Factory
from twisted.protocols.basic import LineReceiver
from twisted.internet import reactor

class Chat(LineReceiver):
    def __init__(self, users):
        self.users = users
        self.name = None
        self.state = "GETNAME"

    def connectionMade(self):
        self.sendLine("What's your name?") <------- This …
Run Code Online (Sandbox Code Playgroud)

python twisted

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

标签 统计

python ×4

arrays ×1

callable ×1

list ×1

ruby ×1

twisted ×1