@@ -152,7 +152,7 @@ Nous pouvons accessoirement ordonner les résultats et surtout encore optimiser
152
152
request.setFilterExpression('"POPUL" != \' NC\' ')
153
153
request.addOrderBy('NOM')
154
154
request.setFlags(QgsFeatureRequest.NoGeometry)
155
- # request.setSubsetOfAttributes([ 1, 4] ) autre manière moins pratique
155
+ # request.setSubsetOfAttributes([ 1, 4] ) autre manière moins pratique, historique
156
156
request.setSubsetOfAttributes([ 'NOM', 'POPUL'] , layer.fields())
157
157
for feature in layer.getFeatures(request):
158
158
print('{commune} : {nombre} habitants'.format(commune=feature[ 'NOM'] , nombre=feature[ 'POPUL'] ))
@@ -183,7 +183,7 @@ il faut **supprimer** la ligne `NoGeometry` si vous l'avez.
183
183
184
184
## Valeur NULL
185
185
186
- En PyQGIS, il existe la valeur ` NULL ` qui peut- être présente dans la table attributaire d'une couche vecteur.
186
+ En PyQGIS, il existe la valeur ` NULL ` qui peut être présente dans la table attributaire d'une couche vecteur.
187
187
188
188
``` python
189
189
from qgis.PyQt.QtCore import NULL
@@ -217,7 +217,7 @@ Dans le langage informatique, une exception peut-être :
217
217
* levée ("raise" en anglais) pour déclencher une erreur
218
218
* attrapée ("catch" en anglais, ou plutôt "except" en Python) pour traiter l'erreur
219
219
220
- Essayons dans la console de faire une l' opération 10 / 2 :
220
+ Essayons dans la console de faire une opération 10 / 2 :
221
221
222
222
``` python
223
223
10 / 2
@@ -241,7 +241,7 @@ Le `try` permet d'essayer le code qui suit. Le `except` permet d'attraper en fil
241
241
et de traiter l'erreur si besoin.
242
242
243
243
Toutes les exceptions héritent de ` Exception ` donc le code ci-dessous fonctionne, mais n'est pas
244
- recommandé car il masque d'autres erreurs :
244
+ recommandé, car il masque d'autres erreurs :
245
245
246
246
``` python
247
247
try :
@@ -260,12 +260,14 @@ except Exception:
260
260
```
261
261
262
262
Il existe d'autres mots-clés en Python pour les exceptions comme ` finally: ` et ` else: ` .
263
+ Voir [ un autre tutoriel] ( https://fr.python-3.com/?p=3141 ) .
263
264
264
265
On peut imaginer faire une fonction qui divise deux nombres et affiche le résultat
265
266
dans la ` QgsMessageBar ` de QGIS, sans tenir compte de la division par zéro :
266
267
267
268
``` python
268
- def diviser (a , b ):
269
+ def diviser (a : int , b : int ):
270
+ """ Divise 2 nombres et affiche le résultat dans la message bar de QGIS. """
269
271
result = a / b
270
272
iface.messageBar().pushMessage(' Résulat' , f ' { a} / { b} = { result} ' , Qgis.Success)
271
273
0 commit comments