Perguntas com a marcação «oop»

1130
Qual é o propósito da palavra 'eu'?

Qual é o objetivo da selfpalavra em Python? Entendo que se refere ao objeto específico criado a partir dessa classe, mas não consigo entender por que ele precisa ser explicitamente adicionado a todas as funções como parâmetro. Para ilustrar, no Ruby eu posso fazer isso: class myClass def...

872
Por que setTimeout (fn, 0) às vezes é útil?

Recentemente, encontrei um bug bastante desagradável, em que o código estava carregando <select>dinamicamente via JavaScript. Este carregado dinamicamente <select>tinha um valor pré-selecionado. No IE6, já tínhamos código para corrigir o selecionado <option>, porque às vezes o...

865
Como iterar através de duas listas em paralelo?

Eu tenho dois iterables em Python, e quero passar por eles em pares: foo = (1, 2, 3) bar = (4, 5, 6) for (f, b) in some_iterator(foo, bar): print "f: ", f, "; b: ", b Isso deve resultar em: f: 1; b: 4 f: 2; b: 5 f: 3; b: 6 Uma maneira de fazer isso é iterar sobre os índices: for i in...

799
Emular um loop do-while em Python?

Eu preciso emular um loop do-while em um programa Python. Infelizmente, o seguinte código simples não funciona: list_of_ints = [ 1, 2, 3 ] iterator = list_of_ints.__iter__() element = None while True: if element: print element try: element = iterator.next() except StopIteration:...

793
O que __init__ e self fazem no Python?

Estou aprendendo a linguagem de programação Python e me deparei com algo que não entendo completamente. Em um método como: def method(self, blah): def __init__(?): .... .... O que selffaz? O que deveria ser? Isso é obrigatório? O que o __init__método faz? Por que isso é necessário?...