Manejo simple de parámetros

Marcos Sánchez Provencio rapto en arrakis.es
Mie Jun 11 11:42:00 CEST 2003


¿Por qué es ortopédico? Se entiende mejor que las versiones de ruby y
perl. Ya se sabe, explícito es mejor que implícito.

El mi? 11-06-2003 a las 11:21, Esteban Manchado Velázquez escribió:
> Buenas:
> 
>    Estoy haciendo un programita de ejemplo que tiene que recibir un par de
> parámetros. Lo que quiero es una forma cómoda y simple de ponerles un valor
> predeterminado. Sé que en Ruby y en Perl es trivial, pero en Python no estoy
> seguro de cómo hacerlo:
> 
> Ruby:
> par = ARGV.shift || 'valor'
> 
> Perl:
> my $par = shift || 'valor';
> 
> En Python, lo único que se me ocurre es:
> 
> if len(sys.argv) > 0:
>    server = sys.argv.pop(0)
> else:
>    server = 'valor'
> 
> Lo cual es ligeramente ortopédico :-) Me he puesto a pensar, y no recuerdo
> haber visto una sintaxis cómoda del estilo Perl/Ruby para hacer algo así: no
> me suena que haya operador ternario (?:) ni un operador de «cortocircuito»,
> como || y &&. Y claro, si hago un pop a una lista, y no hay ningún elemento,
> no devuelve None, sino que salta una excepción.
> 
>    ¿Alguna idea de los expertos?
-- 
gpg --recv-keys --keyserver wwwkeys.pgp.net B9AD9B1B




Más información sobre la lista de distribución Python-es