編寫函式,模擬python內建函式reversed ?

時間 2021-10-21 09:38:31

1樓:

首先說一下,你這個問題本身不是很準確。

實際上在python3中reversed是個內建的類,reversed()這個寫法並不是函式呼叫,而是類的例項化操作。

在python還有多個類似的內建類,比如enumerate, filter, map, range等。你可以檢視一下手冊看看。

如果不能確定是類還是函式,可以在python shell裡面,用type(enumerate)來看一下。結果顯示為的就是類,結果顯示為的才是函式。

>>>type

(open

)

'builtin_function_or_method

'>>>>type

(sorted

)

'builtin_function_or_method

'>>>>type

(reversed

)

'type

'>>>>type

(filter

)

'type

'>>>>type

(map

)

'type

'>>>>type

(enumerate

)

'type

'>>>>type

(range

)

'type

'>>>>type

(type

)

'type

'>>>>>>>help

(reversed

)Help

onclass

reversed

inmodule

builtins

:class

reversed

(object)|

reversed

(sequence,/

)||Return

areverse

iterator

over

thevalues

ofthe

given

sequence.|

|Methods

defined

here:|

|__getattribute__

(self

,name,/

)|Return

getattr

(self

,name).

||__iter__

(self,/

)|Implement

iter

(self).

||__length_hint__

(...)|

Private

method

returning

anestimate

oflen

(list(it

)).||

__next__

(self,/

)|Implement

next

(self).

||__reduce__

(...)|

Return

state

information

forpickling.|

|__setstate__

(...)|

Setstate

information

forunpickling.|

||Static

methods

defined

here:|

|__new__(*

args,**

kwargs

)from

builtins.type

|Create

andreturn

anew

object

.See

help

(type

)for

accurate

signature

.注:很多年前python2的時代map、filter等曾經是內建的函式。

從你的需要模擬reversed的功能來說,reversed(seq)就是返回乙個反序的迭代器iterator物件。

很簡單:

>>> def myreversed(seq):

return iter(seq[::-1])

>>> list(myreversed([1,2,3,4]))

[4, 3, 2, 1]

>>>

Django中,reverse()函式怎麼推導出url

耳朵會火 urlpatterns url r blog include blog.urls namespace blog urlpatterns url r views.index blog,name home url r edit action views.edit action,name edi...

什麼是工廠函式?Python 中工廠函式怎麼理解?

lalaland python class mq object def init self,string c self.config str string cdef print str self print self.config str def crete factory method confi...

如何編寫乙個函式判斷兩個函式是否相等?

可以有一種叫 Theorm Prover 的程式做驗證,但要滿足幾個條件。簡要概括就是。被比對的函式是 pure functional 且 total functional,如果 rec 還要保證 terminate,且只由滿足以上條件的函式定義。有提供足夠的 lemma。條件滿足就可以用 indu...