[pyar] listas de peras, elefantes y dinosaurios y <
Adrianr
roldanadrian en gmail.com
Lun Mar 12 20:22:38 ART 2012
El 12/03/12 10:52, Marcos Dione escribió:
> Un pequeño digest de algo que se discutió en el canal. sorry (la
> falta de) el formateo, no ganas de renegar:
>
> 14:07< MalaLeche> como puedo hacer estomas pythonico
> 14:07< MalaLeche> if paciente.get_edad> 10 and paciente.get_edad<= 20:
> 14:09< gatox> MalaLeche, 10< paciente.get_edad<= 20
> 14:10< StyXman> gatox: eso anda?
> 14:10< gatox> StyXman, si
> 14:10< StyXman> no se asocia as in ( a< b )< c
> 14:10< StyXman> [lo] cual no tipa porque Bool< foo ?
> 14:11< marianoguerra> StyXman: syntactic sugar
> 14:11< gatox> StyXman, no, no hace falta, fijate
> 14:12< gatox> StyXman, es como en matematica :P
> 14:12< ralsina> gatox: FEO
> 14:12< gatox> ralsina, pero..... pero......
> 14:12< StyXman> ralsina: feo?
> 14:12< ralsina> gatox: a< b< c es FEO
> 14:12< StyXman> ralsina: es re expresivo!
> 14:12< StyXman> aunque te reviente el tipador en la zabiola
> 14:12< gatox> ralsina, para mi es tal cual como lo pensaria en matematica
> 14:13< ralsina> StyXman: Mr. Bean también es expresivo!
> 14:13< gatox> ralsina, por eso decia
> 14:13< ralsina> gatox: si, pero aparte no es cierto que eso es lo mismo que (a<b) and (b<c)
> 14:13< ralsina> gatox: bah, creo que no es cierto
> 14:14< ralsina> O sea, como son las reglas de asociatividad en eso? Puedo romperlo en algun momento? ;)
> 14:15< ralsina> WTF?>>> 3< "a"
> 14:15< ralsina> True
> 14:15< ralsina> santas reglas inventadas python!
> 14:15< gatox> ralsina, se que es valido al menos el uso.... y lo probe y funca como se esperaria... en un par de charlas de python lo vi
> como una de las caracteristicas copadas del lenguaje......
> 14:15< gatox> ralsina, ahhhh ahhhhhh..... pero yo lo uso solo con enteros .P
> 14:15< gatox> :P
> 14:15< ralsina> gatox: ok, cuestion de gustos :-)
> 14:16< ralsina> gatox: me levanté con las opiniones firmes que no tenía el viernes
> 14:16< gatox> ralsina, :P
> 14:16< ralsina> 1.j< 2
> 14:16< ralsina> Fun!
> 14:17< marianoguerra> ralsina: respecto a 3< "a" (al menos en otros lenguajes) se define una jerarquia de tipos y como se comparan entre
> ellos para poder ordenar listas de tipos disimiles sin explotarte en la cara
> 14:17< StyXman> marianoguerra: qué útil, ordenar una lista de peras y elefantes
> 14:18< marianoguerra> aca esta el de erlang: number< atom< reference< fun< port< pid< tuple< list< bit string
> 14:18< ralsina> marianoguerra: no puede comparar 1.j y 2 pero si puede comparar 2 y "x" ?
> 14:18< marianoguerra> ralsina: no digo que python lo haga por eso, estoy suponiendo que lo hace por eso, no lo vi documentado en ningun
> lado
> 14:19< marianoguerra> >>> None< 3< []< "a"
> 14:19< marianoguerra> True
> 14:19< marianoguerra> parece que hay un orden
> 14:20< marianoguerra> StyXman: las peras por aca, los elefantes por alla y ordenamos peras de este lado y elefantes de aquel ;)
> 14:20< marianoguerra> al menos sabes que todas las peras estan de un lado y los efelantes del otro
> 14:20< marianoguerra> :D
> 14:21< marianoguerra> no queres que un elefante tenga que decidir si es mayor o menor que una pera, puede generar un problema de egos
> 14:21< StyXman> marianoguerra: si tus datos viene así, estás haciendo algo mal, meparece
> 14:21< StyXman> sobre todo mencantaría ver el orden de objetos de otras clases
> 14:22< ralsina> marianoguerra: obviamente tiranosaurio> elefante> pera
> 14:23< marianoguerra> >>> None< False< 3< {}< fun< []< "a"
> 14:23< marianoguerra> True
> 14:23< ralsina> en orden de "se come un/a"
> 14:23< marianoguerra> muy loco que una funcion sea mas grande que un diccionario pero mas chico que una lista :P
> 14:23< ralsina> marianoguerra: rapido, mete todos los tipos en una lista y hace un sort :-)
> 14:24< marianoguerra> es mas divertido intentar adivinar cual es el orden :D
> 14:26< marianoguerra> [None, False, 3, {}, Ellipsis,<function fun at 0xb73c425c>, [],<object object at 0xb745d568>, '', 'a']
> 14:26< StyXman> class?
> 14:26< marianoguerra> las clases son mas chicas que las funciones, pero los objetos son mas grandes, claramente un mensaje a favor de la
> programacion prototipica y funcional (?)
> 14:27< ralsina> marianoguerra: migremos a javascript! ;-)
> 14:27< marianoguerra> ralsina: jaja, pense lo mismo :D
> 14:31< marianoguerra> Objects of different types except numbers are ordered by their type names; objects of the same types that don’t
> support proper comparison are ordered by their address.
> 14:32< marianoguerra> ['None', 'bool', 'class', 'dict', 'function', 'int', 'list', 'object', 'str']
> 14:32< marianoguerra> no se porque int se movio, pero los otros estan en el mismo orden
> 14:40< StyXman> tonces para hacer una cola con prioridades no te hace mas falta que hacer clases con nombres ordenados
> 14:41< StyXman> y que cada instancia tenga un atributo cuyo valor es sacado de un contador que se incrementa
> 14:42< StyXman> o estoy delirando del sueño que cargo?
> 14:43< ralsina> Los pone en orden alfabético del tipo????
> 14:43< StyXman> del nombre de, así parece
> 14:43< StyXman> marianoguerra: link?
> 14:46< ralsina> por favor alguien manda esta discusion del> a la lista que yo no tengo tiempo? ;-)
>
>
Yo pensaba que python tenía tipado fuerte pero, a menos que se me escape
algo ( que es posible), en las comparaciones vale todo. Al menos con
tipos nativos. No me lo esperaba, será que no estoy acostumbrado.
Aprovecho para preguntar, ¿ se puede definir un conjunto numérico de
alguna manera ? Lo que sería en otros lares un subtipo. O estoy siendo
muy antipythonico?
Cuando comparas p.ej. 2 < 3.5 < 8 y resulta true. ¿ Esta promoviendo el
2 y el 8 a float ?
De afuera parecía tan fácil!!!
Saludos.
More information about the pyar
mailing list