Python 2.7
▢ gestion des package/librairie
1 – installations
get pip running this script
to intall a new package type : pip install -U package_name
like : pip install numpy
2 – upgrades
pip install -U numpy
3 – desinstallations
pip uninstall numpy
4 – get installed package version :
>>> import numpy
>>> print numpy.__version__
5 – corporate proxy
Install fiddler and set up a reverse proxy, add this –proxy=http://proxy_url:proxy_port to any pip command
▢ exemple de *args et **kwargs
*args
la notation *args permet de passer une infinitée de parametres a une methode, exemple
def moiAussiJeVeuxDesMultiParam(*params): print params def maMetodeMultiParam(*params): for element in params: print element moiAussiJeVeuxDesMultiParam(*params) maMetodeMultiParam("foo", "bar", 7)
produit
foo bar 7 ('foo', 'bar', 7)
Donc voila, on a un tuple et on peut iterer dessus, les parametre sont toujours dans l’ordre dans lequel on les a placé et on peut les passer a une autre methode en faisant *variable qui contient le tuple
*Kwargs
La notation *Kwargs permet de de faire comme *args mais de donner un nom a chaque parametre afin de les retrouver plus facilement, un dictionnaire quoi.
def maMethodeMultiParamNomme(**namedParams): for key in namedParams: print key + " = " + str(namedParams[key]) moiAussiJeVeuxDesMultiParamNomme(**namedParams) def moiAussiJeVeuxDesMultiParamNomme(**namedParams): print namedParams maMethodeMultiParamNomme(foo="one", bar="two", bli=3) dico = {'one': 'heh', 'second' : 'hoho'} maMethodeMultiParamNomme(**dico)
Ce code produit
bli = 3 foo = one bar = two {'bar': 'two', 'foo': 'one', 'bli': 3} second = hoho one = heh {'second': 'hoho', 'one': 'heh'}
Comme on peut le voir on a bien un dico, on peut iterer dessus et on peut le passer en parametre a une autre methode qui prend des multi paramètres nommée en faisant **dico