Programmation python 9

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Quelle chaîne de caractères est reconnue par l'expression rationnelle [0-9]*([A-Z][a-z])?[1-9]+?

  • 1-0 (correct)
  • 2B3
  • Aucune de ces réponses
  • r2d2
  • Ub40
  • AK47

Que renvoie le programme suivant : import re; r = re.fullmatch("(a(b|c))([0-9])", "ab9"); print(r.groups()) ?

  • ('a', 'b', '9')
  • ('a', 'ab', 'ab9')
  • Aucune de ces réponses
  • ('ab', 'b', '9') (correct)
  • ('ab', '9')

Décrivez la différence fondamentale entre un fichier binaire et un fichier texte.

Un fichier binaire est une suite d'éléments binaires (bits), tandis qu'un fichier texte est interprété comme une chaîne de caractères.

L'encodage ASCII utilise les 8 bits d'un octet pour représenter des caractères.

<p>False (B)</p> Signup and view all the answers

Pourquoi est-il important de spécifier l'encodage lors de la lecture d'un fichier texte ?

<p>Pour assurer une interprétation correcte des caractères. (A)</p> Signup and view all the answers

Les fonctions ______ et encode permettent de convertir respectivement des bytes en str et des str en bytes.

<p>decode</p> Signup and view all the answers

Lequel des encodages suivants est le standard actuel pour les pages web?

<p>UTF-8 (D)</p> Signup and view all the answers

Il est recommandé de convertir immédiatement tout fichier externe en UTF-8.

<p>True (A)</p> Signup and view all the answers

Dans le contexte des formats de fichiers, que signifie CSV ?

<p>Comma-Separated Values (A)</p> Signup and view all the answers

Quel est l'avantage d'utiliser un DictReader lors de la lecture d'un fichier CSV?

<p>Le DictReader permet d'accéder aux données par le nom des colonnes (en-tête) au lieu de l'indice.</p> Signup and view all the answers

Par défaut, le module csv en Python est configuré pour produire des fichiers CSV compatibles avec Excel.

<p>True (A)</p> Signup and view all the answers

Dans le module csv, le paramètre _______ définit la politique d'utilisation des guillemets.

<p>quoting</p> Signup and view all the answers

Quel est le format de données qui est non structuré avec des imbrications?

<p>JSON (C)</p> Signup and view all the answers

Citez deux méthodes utilisées pour lire un fichier JSON en Python.

<p><code>load()</code> et <code>loads()</code></p> Signup and view all the answers

Il n'est pas nécessaire d'utiliser le debugger pour explorer les objets JSON chargés en Python.

<p>False (B)</p> Signup and view all the answers

Quel est le langage fondé sur le balisage?

<p>XML (B)</p> Signup and view all the answers

Dans XML, un élément est délimité par une balise _______ et une balise _______.

<p>ouvrante, fermante</p> Signup and view all the answers

Lesquelles des options ci-dessous sont les dérivés d'XML?

<p>HTML et XHTML (B)</p> Signup and view all the answers

Associez les éléments HTML avec leurs descriptions :

<p> = Paragraphe de texte <table> = Tableau <ul> = Liste non ordonnée <a> = Lien hypertexte Signup and view all the answers

La méthode générale d'analyse de fichier XML s'applique parfaitement à toutes les pages web.

<p>False (B)</p> Signup and view all the answers

Laquelle des expressions régulières suivantes reconnaît la chaîne de caractères 'r2d2'?

<p>[0-9]*([A-Z][a-z])?[1-9]+ (C)</p> Signup and view all the answers

Quel sera le résultat de l'exécution du code Python suivant : import re; r = re.fullmatch("(a(b|c))([0-9])", "ab9"); print(r.groups())?

<p>('ab', 'b', '9') (D)</p> Signup and view all the answers

L'encodage ASCII utilise 8 bits de chaque octet pour représenter les caractères.

<p>False (B)</p> Signup and view all the answers

Les fonctions ______ et ______ sont utilisées pour convertir des chaînes de caractères en octets et vice versa.

<p>encode, decode</p> Signup and view all the answers

Il est toujours préférable d'utiliser l'encodage ASCII plutôt que UTF-8 pour une meilleure compatibilité avec tous les systèmes.

<p>False (B)</p> Signup and view all the answers

Quelle méthode est recommandée pour se débarrasser des caractères accentués lors de la conversion en ASCII?

<p>unicodedata.normalize('NFKD', s).encode('ASCII', 'ignore') (D)</p> Signup and view all the answers

Expliquez ce que représente 'unicode_escape' lors de la manipulation d'encodages.

<p>'unicode_escape' représente les octets problématiques avec leur valeur hexadécimale.</p> Signup and view all the answers

Quel est le séparateur de valeurs commun dans un fichier CSV?

<p>Virgule (C)</p> Signup and view all the answers

Un fichier CSV doit obligatoirement contenir une ligne d'en-tête.

<p>False (B)</p> Signup and view all the answers

On utilise la fonction ___________ du module CSV pour détecter automatiquement le format d'un fichier CSV.

<p>Sniffer</p> Signup and view all the answers

Quelle option de csv.writer doit être utilisée pour ne mettre des guillemets que lorsque cela est nécessaire?

<p>QUOTE_MINIMAL (D)</p> Signup and view all the answers

Quelle est la structure de données de base utilisée pour représenter une entrée JSON en Python?

<p>dictionnaire</p> Signup and view all the answers

Le format JSON exige une structure de données rigide et prédéfinie.

<p>False (B)</p> Signup and view all the answers

Quelles fonctions sont utilisées pour lire des données JSON à partir d'un fichier en Python?

<p>load() et loads() (A)</p> Signup and view all the answers

En XML, un élément est délimité par une balise ___________ et une balise ___________.

<p>ouvrante, fermante</p> Signup and view all the answers

Quelle méthode est utilisée en Python pour rechercher un élément spécifique parmi les enfants d'un élément XML?

<p>find() (C)</p> Signup and view all the answers

HTML est un dérivé strict de XML et doit strictement respecter les règles de syntaxe XML.

<p>False (B)</p> Signup and view all the answers

Dans le contexte de HTML, quel est le rôle des balises <body>?

<p>Les balises <code>&lt;body&gt;</code> décrivent des éléments structurels ou graphiques de la page.</p> Signup and view all the answers

Flashcards

Fichier binaire

Suite d'éléments binaires (0 ou 1, bits) regroupés en blocs de 8 bits (octets).

Encodage

Représentation d'un caractère sous forme d'une suite de bits.

ASCII

Norme d'encodage de caractères sur 7 bits, limitée aux caractères de base.

ASCII étendu

Extension de l'ASCII, utilisant 8 bits pour inclure plus de caractères.

Signup and view all the flashcards

UTF-8

Méthode préconisée pour l'encodage, couvrant la majorité des caractères et symboles.

Signup and view all the flashcards

CSV

Format de données où les valeurs sont séparées par des virgules. Chaque ligne est une entrée.

Signup and view all the flashcards

JSON

Format de données semi-structuré, basé sur une imbrication de listes et de dictionnaires.

Signup and view all the flashcards

XML

Langage de balisage où les éléments sont délimités par des balises ouvrantes et fermantes.

Signup and view all the flashcards

HTML

Dérivé d'XML, utilisé pour structurer le contenu des pages web.

Signup and view all the flashcards

Sniffer CSV

Utilisé pour analyser automatiquement le format d'un fichier CSV.

Signup and view all the flashcards

Format de fichiers

Un programme prend en entrée des paramètres et des données (des fichiers, y compris l'entrée standard : une suite de caractères

Signup and view all the flashcards

DictReader

Un dictionnaire extrait des données tabulaires.

Signup and view all the flashcards

Study Notes

Quiz

  • Une réponse au quiz demande l'identification du numéro d'une arme effacée, suivant un format précis : une ou deux lettres, suivies de quatre chiffres.
  • La solution implique de chercher des chiffres avec un arrondi en bas (3) et dont le deuxième chiffre a une barre horizontale au-dessus (3).
  • La réponse est donc une combinaison de lettres (A[A-Z]) et de chiffres (33).

Fichiers Binaires vs. Textuels

  • Un fichier est une séquence d'éléments binaires (bits, 0 ou 1).
  • Ces bits sont généralement groupés en octets (bytes) de 8 bits.
  • Un octet peut être représenté en binaire (base 2), décimal (base 10) ou hexadécimal (base 16).
  • Un fichier peut être interprété comme une suite brute de bits ou comme du texte (chaîne de caractères).

Encodage : ASCII

  • L'encodage permet la conversion entre caractères et octets, et vice versa.
  • L'encodage est l'interprétation d'une suite de bits sous forme de caractères.
  • L'encodage utilisé doit être spécifié pour interpréter correctement un fichier textuel.
  • ASCII est l'encodage d'origine, utilisant les 7 bits de droite d'un octet (qui en contient 8).

Encodage ASCII étendu

  • L'ASCII étendu préserve les 128 premiers caractères et utilise les 128 "cases" restantes pour d'autres caractères.
  • Des exemples d'ASCII étendu incluent Western (ISO 8859-1), Western (Mac Roman) et Arabic (ISO-8859-6).
  • Il est impératif de spécifier l'encodage pour interpréter correctement un fichier textuel.

Encodage Unicode (UTF-8)

  • L'encodage permet d'éviter l'affichage incorrect de caractères.
  • L'UTF-8 peut représenter les caractères de tous les alphabets et symboles.
  • Il utilise un nombre variable d'octets par caractère (un seul pour l'ASCII).
  • L'UTF-8 est le standard actuel et en avril 2025, 98,6 % des pages web l'utilisent et était de 94,7% en 2020 .

Méthodologie d'Encodage

  • Il est recommandé de travailler avec des données encodées en UTF-8.
  • Si des données externes sont dans un autre encodage, il faut les convertir immédiatement en UTF-8.
  • Il faut connaître l'encodage d'origine des données externes.
  • L'encodage par défaut est UTF-8, mais il peut être configuré différemment.
  • Les fichiers peuvent être traités comme des caractères (str) ou des octets (bytes).
  • Il faut préciser l'encodage lors de l'ouverture du fichier si différent de la valeur par défaut.
  • Les fonctions decode (bytes→str) et encode (str→bytes) servent à passer de str à bytes, en spécifiant l'encodage et la gestion des erreurs (strict, ignore, replace).
  • Exemple: f = open('western.txt', 'r', encoding='ISO8859-1')

Utilité des fonctions decode() et encode()

  • La fonction decode('ISO8859-1') convertit un objet de type bytes en type str. Exemple: s = b.decode('ISO8859-1') # b est de type bytes, s de type str
  • La fonction encode('ISO8859-6', 'ignore') convertit un objet de type str en type bytes, ignorant les caractères problématiques. Exemple: b = s.encode('ISO8859-6', 'ignore') # ignore les caractères problématiques
  • L'UTF-8 (récent) ou l'ASCII (ancien) sont préférables pour une meilleure compatibilité.
  • La commande unicodedata.normalize('NFKD', s).encode('ASCII', 'ignore') supprime les caractères accentués pour l'ASCII.
  • 'unicode_escape' représente les octets problématiques avec leur valeur hexadécimale.

Format de Fichiers

  • Un programme reçoit généralement des paramètres et des données en entrée (des fichiers ou une suite de caractères via l'entrée standard).

Format CSV (Comma-Separated Values)

  • Les valeurs sont séparées par des virgules.
  • Chaque ligne représente une entrée avec plusieurs valeurs.
  • Le format CSV est répandu et basique.
  • Il est idéal pour les données issues de tableurs, mais ne convient pas aux données complexes.
  • Un fichier CSV peut contenir une ligne d'en-tête donnant les noms des colonnes.
  • Différents séparateurs ("," ";" " " "\t") peuvent être utilisés, et les valeurs peuvent être mises entre guillemets.
  • Il est possible d'utiliser un DictReader pour récupérer une entrée sous forme de dictionnaire, avec les noms de colonnes comme clés (l'en-tête est alors obligatoire).
  • Un Sniffer peut être utilisé pour détecter automatiquement le format du fichier CSV.
  • Par défaut, csv.writer est configuré pour respecter les normes d'Excel.
  • L'option quoting définit la politique d'utilisation des guillemets (QUOTE_MINIMAL : uniquement quand c'est nécessaire, QUOTE_ALL : toujours).
  • Il est également possible d'utiliser des dictionnaires avec DictWriter, nécessitant la spécification de l'en-tête.

Format JSON (JavaScript Object Notation)

  • JSON n'est pas structuré et correspond a une imbrication de type listes et dictionnaires.
  • C'est un format idéal pour les données complexes ou de type "objets".

Fonctions relatives au format JSON

  • Les fonctions load() et loads() servent à lire un fichier ou des données JSON, en ouvrant un fichier en lecture ou à partir d'une chaîne de caractères.
  • L'objet résultant est une imbrication de listes et de dictionnaires.
  • Les fonctions dump() et dumps() servent à écrire des données au format JSON dans un fichier ou à partir d'une chaîne de caractères.
  • On passe en argument un objet de type liste ou dictionnaire.
  • Des paramètres comme separators (séparateurs pour listes et dictionnaires) et indent (indentation) peuvent être spécifiés.

Format XML (Extensible Markup Language)

  • XML (Extensible Markup Language est un format qui est basé sur les balises (markups)
  • Les elements XML doivent avoir une balise ouvrantes et une balise fermante
  • Possède des attributs qui sont spécifiés dans la balise d'ouverture
  • Le contenu peut aussi être d'autre elements (enfants)
  • Ce format est largement utilisé, en particulier par les API Web

Elements et les fonction XML

  • find() et findall() permettent d'analyser les elements et enfants
  • Elles renvoient respectivement la première occurrence d'un type d'élément ou toutes (une liste) du sous element en question

Format HTML (HyperText Markup Language)

  • HTML est un dérivé du XML plus simple
  • Une page peut être affichée si le langage HTML est légèrement différent
  • Il definit les propriétés et le contenu
  • Les balises utilisées dans l'élément <body> décrivent des éléments structurels ou graphiques.
  • Exemples de balises: <h1>, <h2> pour les titres, <p> pour les paragraphes, <table>, <tr>, <td> pour les tableaux, <ul>, <li> pour les listes, <a href="..."> pour les liens.
  • L'analyse de fichiers XML ne marche pas en pratique pour les pages web, il faut utiliser un module spécifique et regarder les éléments et sous-éléments.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Use Quizgecko on...
Browser
Browser