[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