# Python keywords

**URL:** <https://www.debian-fr.org/t/python-keywords/53987>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 12:40 UTC](https://www.debian-fr.org/t/python-keywords/53987 "2016-02-21T12:40:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![euridice](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/5fc32e/32.png) [@euridice](https://www.debian-fr.org/u/euridice)\
**Post date:** [Février 21, 2016, 12:40 UTC](https://www.debian-fr.org/t/python-keywords/53987/1 "2016-02-21T12:40:35Z")

</div>

Je pense que je ne comprend pas vraiment bien l’utilisation des keywords en python.  
L’idée de mon bout de code est d’ajouter à une date start, un nombre roll\_period de quantité roll\_duration (mois, jours, années, semaines)  
j’utilise pour cela dans la librairie dateutil la classe relativedelta dont l’utilisation est la suivante :

[quote]There’s two different ways to build a relativedelta instance. The  
first one is passing it two date/datetime classes:

```
relativedelta(datetime1, datetime2)

```

And the other way is to use the following keyword arguments:

```
year, month, day, hour, minute, second, microsecond:
    Absolute information.

years, months, weeks, days, hours, minutes, seconds, microseconds:
    Relative information, may be negative.[/quote]

```

Dans mon code, end1=start+relativedelta(months=+roll\_period) fonctionne bien, mais est-il possible de passer en argument de relativedelta roll\_duration qui est égal à months ici ?

[code]import unittest  
from dateutil.relativedelta import \*  
from datetime import \*

class Test(unittest.TestCase):

```
def testdateutil(self):
    start=datetime(2007,6,12)
    roll_duration="months"
    roll_period=6
    end1=start+relativedelta(months=+roll_period)
    end=start+relativedelta(None, None,0, 6)
    #end1=start+relativedelta(roll_duration=+6)
    print(end,end1)
    assert(end,end1)

```

if **name** == “ **main** ”:  
#import sys;sys.argv = [’’, ‘Test.testdateutil’]  
unittest.main()[/code]

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 12:40 UTC](https://www.debian-fr.org/t/python-keywords/53987/2 "2016-02-21T12:40:37Z")

</div>

J’ai mis du temps à comprendre. Tu as une méthode que tu utilise avec des paramètres nommés et tu voudrais que les noms soient des variables.

Je ne crois pas que ce soit possible (en fait je pense que syntaxiquement c’est pas faisable). C’est l’avantage de passer par dictionnaire (même si les dictionnaires sont moins agréables à lire).
