Argumentos con asteriscos en Python


En Python cuando trabajamos las funciones existen casos que se usan los asteriscos (*), estos pueden ser usados al definir una función o cuando pasamos variables a una función.

Definición de funciones

Tenemos por ejemplo:
def miFuncion(a,*args):
    print(a)
    print(args)
miFuncion('hola')
Output:
hola
()

miFuncion('hola','bien')
Output:
hola
('bien',)

miFuncion('hola',1,2)
Output:
hola
(1, 2)

def miFuncion(a,**kwargs):
    print(a)
    print(kwargs)
miFuncion('HOLA')
Output:
HOLA
{}

miFuncion('HOLA',uno=1,dos=2)
Output:
HOLA
{'uno': 1, 'dos': 2}

b = {'tres':3,'cuatro':4}
miFuncion('HOLA',**b)
Output:
HOLA
{'tres': 3, 'cuatro': 4}

Pasando variables

Ejemplos:
def miFuncion(a,b,c):
    print(a)
    print(b)
    print(c)
miFuncion(1,2,3)
Output.
1
2
3

p=(4,5,6)
miFuncion(*p)
Output.
4
5
6

d={'siete':7,'ocho':8,'nueve':9}
miFuncion(*d)
Output.
siete
ocho
nueve
Referencias
  1. https://www.python-course.eu/python3_passing_arguments.php
  2. https://docs.python.org/3/reference/compound_stmts.html#function-definitions
  3. https://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/

Uso de números aleatorios con Python


En Python podemos usar números aleatorios usando el módulo random
import random
print(random.random())
Output:
0.5412534406894142

import random
numeros = 10
ans = []
for i in range(numeros):
    ans.append(random.random())
print(ans)
Output:
[0.4821087938643043, 0.2406183464925573, 0.27587630878244995, 0.2192253697808313, 0.581660300315342, 0.24865823798382347, 0.14378892121595566, 0.7124086060724959, 0.8264810304435963, 0.16371422078033615]
Links
  1. https://docs.python.org/3/library/random.html