Galerie de cartes mentales Points de connaissances de base de Python
Il s'agit d'une carte mentale sur les bases de Python. Le contenu principal comprend : 11 codes de test, 10 fichiers et exceptions, 9 classes, 8 fonctions, 7 entrées utilisateur et while, 6 dictionnaires, 5 instructions if. , liste de 4 opérations, introduction de 3 listes, 2 variables et types de données, 1-mise en route.
Modifié à 2024-11-21 10:22:32In order to help everyone use DeepSeek more efficiently, a collection of DeepSeek guide mind map was specially compiled! This mind map summarizes the main contents: Yitu related links, DS profile analysis, comparison of DeepSeek and ChatGPT technology routes, DeepSeek and Qwen model deployment guide, how to make more money with DeepSeek, how to play DeepSeek, DeepSeek scientific research Application, how to import text from DeepSeek into MindMaster, the official recommendation of DeepSeek Wait, allowing you to quickly grasp the essence of AI interaction. Whether it is content creation, plan planning, code generation, or learning improvement, DeepSeek can help you achieve twice the result with half the effort!
This is a mind map about DeepSeek's 30 feeding-level instructions. The main contents include: professional field enhancement instructions, interaction enhancement instructions, content production instructions, decision support instructions, information processing instructions, and basic instructions.
This is a mind map about a commercial solution for task speech recognition. The main content includes: text file content format:, providing text files according to the same file name as the voice file.
In order to help everyone use DeepSeek more efficiently, a collection of DeepSeek guide mind map was specially compiled! This mind map summarizes the main contents: Yitu related links, DS profile analysis, comparison of DeepSeek and ChatGPT technology routes, DeepSeek and Qwen model deployment guide, how to make more money with DeepSeek, how to play DeepSeek, DeepSeek scientific research Application, how to import text from DeepSeek into MindMaster, the official recommendation of DeepSeek Wait, allowing you to quickly grasp the essence of AI interaction. Whether it is content creation, plan planning, code generation, or learning improvement, DeepSeek can help you achieve twice the result with half the effort!
This is a mind map about DeepSeek's 30 feeding-level instructions. The main contents include: professional field enhancement instructions, interaction enhancement instructions, content production instructions, decision support instructions, information processing instructions, and basic instructions.
This is a mind map about a commercial solution for task speech recognition. The main content includes: text file content format:, providing text files according to the same file name as the voice file.
Les bases de Python
1-Début
Installer Python 3.x
Installer l'éditeur de code
Bonjour mot
2-Variables et types de données
variable
Nom et utilisation
Les noms de variables ne peuvent utiliser que des lettres, des chiffres et des traits de soulignement, et le premier caractère ne peut pas être un chiffre.
Les noms de variables ne peuvent pas être des mots réservés Python (mots-clés)
Les noms de variables doivent être courts et clairs
étudiant_age
stu_classe
stu_sex
...
Gestion des erreurs de nommage
Fautes de frappe lors de l'appel de variables
Faites attention aux informations de traçabilité
le nom de la variable est l'étiquette
Une variable est un espace de stockage de données, semblable à un sac de fichiers (variable). Les données (valeur de la variable) sont placées dans le sac de fichiers (variable).
Grâce à l'étiquette (nom de la variable) sur le sac de fichiers, vous pouvez trouver le sac de fichiers (variable) correspondant à l'étiquette et sortir le fichier de données (valeur de la variable) du sac de fichiers pour l'utiliser.
chaîne
Modifier la casse de la chaîne
.titre()
.supérieur()
.inférieur()
Utiliser des variables dans des chaînes
str = f"{value_name} est {value}" ;
x = 10 ; nom_x = 'x'; full_str = f"{x_name} est {x}" ;
Formater la chaîne
str = f"{value_name} est {value}" ;
str = "{} est {}".format(value_name,value");
Insérer des nouvelles lignes et des tabulations dans des chaînes
Semblable à C
Supprimer les espaces de fin
.rstrip()
str = str.rstrip();
nombre
entier
flotter
constante
Python n'a pas de types constants
Les variables dont le nom est entièrement en majuscules sont généralement considérées comme des constantes.
Les constantes ne sont pas modifiées tout au long de l'exécution du programme
Commentaire
Les commentaires sont du texte dans le code qui n'est pas exécuté et qui fait partie du code
De bons commentaires peuvent améliorer la lisibilité de votre code
Pour le texte commençant par '#', la ligne entière sera traitée comme un commentaire et sera ignorée lors de l'exécution.
Introduction à 3 listes
définition de liste
liste = [elem1,elem2,...,]
liste[i]
Les listes sont indexées à partir de 0, c'est-à-dire que le premier élément d'une liste non vide est list[0]
famille = ["abs","ppo","pva","pe"]; message = "Le premier joueur est {}".format(family[0].upper()); imprimer(message);
Ajouter, modifier, supprimer des éléments
Ajouter un élément
Ajouter à la fin de la liste
.append(valeur)
famille = ["abs","ppo","pva","pe"]; family.append("aibn"); imprimer(famille);
insérer dans la liste
.insert(i,valeur)
famille = ["abs","ppo","pva","pe"]; famille.insert(0,"aibn"); imprimer(famille);
Modifier des éléments
liste[i] = nouvelle_valeur
famille = ["abs","ppo","pva","pe"]; famille[0] = "aibn"; imprimer(famille);
Supprimer l'élément
.populaire()
Pop la valeur du dernier élément de la file d'attente
.pop(0)
Affiche la valeur de l'élément à la position spécifiée
.épicerie fine)
Selon l'index i, supprimez l'élément en i
.remove(valeur)
En fonction de la valeur value, supprimez le premier élément trouvé avec la valeur value
Liste des organisations
.trier()
Trier la liste et écraser le contenu de la liste d'origine
.inverse()
len()
fonction pour calculer la longueur
Les nombres n'ont pas de longueur
Table, dictionnaire, chaîne, tuple
trié (liste)
Triez la liste et affichez la nouvelle liste sans modifier le contenu de l'ancienne table.
C'est une fonction
4-Liste des opérations
Parcourez la liste
pour x dans la liste :
#!/usr/bin/python3 animaux = ["chien","chat","poisson","chèvre","bœuf","girafe","guoqing"]; pour les animaux chez les animaux : print(f"L'animal est {animal.title()}"); print(f"Je te pense,{animal.upper()}",end = ' '); print("C'est tout !!");
py contrôle la zone d'exécution du code via l'indentation/les espaces
liste de valeurs
plage (démarrage, arrêt, étape)
#Créez une liste de nombres de 0 à 99 et imprimez-la nombre = plage (0,100); pour moi en nombre : imprimer(je); print("Fin");
max(), min(), somme()
#Créez une liste de nombres de 0 à 99 et imprimez-la nombre = plage (0,100); pour moi en nombre : print(i,fin = ' '); print("Fin"); print("Le nombre maximum de cette liste est {}".format(max(number))); print("Le numéro minimum de cette liste est {}".format(min(number))); print("La somme de cette liste est {}".format(sum(number)));
compréhension de liste
nombres = [valeur**3 pour la valeur dans la plage (0,50,2)] ; imprimer(chiffres);
Une ligne de déclarations complète plusieurs étapes
utiliser une partie de la liste
glisser
liste[début:arrêt:étape]
noms = ["julia", "jack", "pony", "petter", "dick", "lun"]; pour le nom dans les noms[1:4:2] : imprimer(nom); print("end".upper());
copie
liste1 = liste2[:]
noms = ["julia", "jack", "pony", "petter", "dick", "lun"]; alias = noms ; imprimer(alias); noms.append("yasin"); print("noms:",noms); print("alias:",alias); #Ici, il peut être prouvé que le nom de la variable est l'étiquette de la variable, et que les noms et alias ici sont deux étiquettes différentes de la même variable. alias = alias[:]; noms.pop(); print("noms:",noms); print("alias:",alias); #Utilisez list1 = list2[:] pour vraiment créer une autre liste print("end".upper());
Liste immuable - tuple
nom_tuple = (elem1,elem2,elem3,...)
Modifier un tuple
redéfinir
aliments = ("mapo", "hoguo", "jiaozi"); print("Le menu est suivant :",end =''); pour la nourriture dans les aliments : print(nourriture,fin = ' '); print(fin = ' '); #Redéfinir le tuple aliments = ("amour", "paix", "envie"); print("Le menu est suivant :",end =''); pour la nourriture dans les aliments : print(nourriture,fin = ' '); print(fin = ' ');
Modifier des éléments dans un tuple
tuple = (1,2,3,[4,5,6]) pour moi en tuple : imprimer(je); #Lorsqu'il y a des éléments variables dans le tuple, les éléments variables peuvent être modifiés. tuple[3].append(7); pour moi en tuple : imprimer(je);
Déclaration 5-si
essai d'état
si A == B : fonction1(); elif A == C : fonction2() : autre: sortie();
==
!=
>=
<=
>
<
si A dans B : fonction(A); autre: sortie();
dans
et
pas
ou
si déclaration
si condition == Vrai : actes();
si condition == Vrai : action1(); autre: action2();
si condition1 : action1(); condition elif2 : action2(); ..... autre: action_par défaut();
Liste des processus
pour l'élément dans la liste : si élément == condition : action1(); autre: action2();
si liste : print("NON VIDE"); autre: print("VIDE");
6-Dictionnaire
utiliser le dictionnaire
dictionnaire = { clé1:valeur1,clé2,valeur2,...}
définition dictionnaire
dictionnaire = {}
Créer un dictionnaire vide
valeur = dictionnaire[clé]
utiliser le dictionnaire
dictionnaire[clé3] = valeur3
Ajouter des paires clé-valeur
Si key3 existe, modifiez la valeur clé de key3.
del dictionnaire[clé]
Supprimer la paire clé-valeur
.get (clé, valeur_par défaut)
La méthode .get() obtient la valeur de la clé du dictionnaire
Dictionnaire de parcours
.articles()
Itérer sur des paires clé-valeur dans un dictionnaire
pour k,v dans Dictionary.items() : print(f"{k}:{v}");
.clés()
Parcourir les clés d'un dictionnaire
.valeurs()
Parcourir les valeurs dans un dictionnaire
Définitions imbriquées
liste de dictionnaire
dictionnaire1 = {key_a1:value_a1,key_a2:value_a2} ; dictionnaire2 = {key_b1:value_b1,key_b2:value_b2} ; dictionnaire3 = {key_c1:value_c1,key_c2:value_c2} ; liste = [dictionnaire1, dictionnaire2, dictionnaire3] ; pour l'élément de la liste : imprimer (article);
dictionnaire de liste
dic1 = {"key1":['a','b','c'],"key2":['d','e','f']}; pour v dans dic1 : imprimer(v);
dictionnaire dictionnaire
dic = {"key1":{"sub_key1":sub_value1,"sub_key2":sub_value2},...}
Supprimer les éléments en double
ensemble (dictionnaire)
Différent de la collection
Ils sont tous définis par {```}
Les collections n'ont pas d'ordre
Les éléments de l'ensemble ne sont pas répétés
7-Entrée utilisateur et pendant
saisir()
get_input = input("invite")
Ne peut accepter que les chaînes et les chaînes de sortie
Vous pouvez utiliser d'autres fonctions pour convertir des chaînes
num = int(input("veuillez saisir un nombre ")); si num == 0 : print("{} est un multiple de 10.".format(num)); autre: print(f"{num} n'est pas un multiple de 10.");
alors que
je = 0 ; alors que je < 5 : imprimer(je); je = je 1;
message = "" ; while message != "quitter": imprimer(message); message = input("veuillez saisir une phrase et je la répéterai ");
drapeau = Vrai ; message = "" while drapeau == Vrai : message = entrée(""); si message == "quitter": drapeau = Faux ; autre: imprimer(message);
casser
Sortez de la boucle et exécutez les instructions qui suivent le corps de la boucle
continuer
Ignorez les instructions restantes dans la boucle et recommencez depuis le début
pendant le traitement de la liste
liste = ["elem1", "elem2", "elem3", "elem1", "elem2"]; tandis que "elem1" dans la liste : list.remove("elem1");
lors du traitement du dictionnaire
active_flag = Vrai ; réponse = {} ; while active_flag == True : name = input("quel est ton nom ?"); réponse[nom] = input("quel est ton passe-temps ?"); if input("voulez-vous laisser une autre personne répondre ?") == "non": active_flag = Faux ; pour n,h dans réponse.items() : print("Le passe-temps de {}\ est {} ".format(n,h));
8 fonctions
def fun_name(param1=default_value1,param2=default_value2) : action1(param1); action2(param2); retourner la résolution ;
def bonjour(nom = "monde",msg = '') : print(f"Bonjour {name.title()}.{msg}"); bonjour("yasin","C'est moi!");
passer des arguments
argument de position
Python associe la position des paramètres entrants à la position où les paramètres de la fonction sont définis.
Python transmet les paramètres aux positions correspondantes dans les paramètres formels au moment de la définition dans l'ordre.
Arguments de mots clés
fun(param1 = valeur1,param3 = valeur3,param2=valeur2);
Valeurs par défaut pour les paramètres de fonction
def fun(param1 = "Bonjour"); Cette fonction peut également être appelée en omettant param1
Paramètres de fonction omissables
def amusant(param1,param2 = ''); #Ici, param2 peut être omis lors de l'appel
valeur de retour
Renvoie des paramètres simples
Retourner le dictionnaire
Liste de passes
Transmettre une copie de la liste
amusant(liste[:])
Les paramètres formels ne modifieront pas la liste originale.
Passez toute la liste
amusant (liste)
Les modifications apportées à la liste dans la fonction seront enregistrées dans la liste
Passez autant d'arguments que vous le souhaitez
def amusant (dans, * paramètres)
* signifie construire un tuple à partir de tous les paramètres restants transmis
Combinez plusieurs types de transferts de paramètres
def build (premier, deuxième, ** etc)
** signifie construire un dictionnaire à partir des paires clé-valeur restantes
build("Yasin","Jue",sex="m",poids=120);
Encapsulation et importation
Enregistrez la fonction sous forme de fichier avec un suffixe .py
Importer des fonctions et des modules
depuis nom_fichier importer fun_name
Importer uniquement la fonction fun_name à partir de file_name
importer le nom du fichier
Importer le fichier entier
Utiliser des alias pour les fonctions et les modules
depuis file_name importer fun_name en tant que fun_alias
importer le nom du fichier en tant qu'alias du fichier
9-catégorie
Créer et utiliser
Edamame est un chien, et le chien est une catégorie, ou catégorie en abrégé.
Un type de choses a souvent des attributs communs, par exemple, un chien a quatre pattes (attributs), un chien peut aboyer (méthodes), etc.
L'abstraction d'éléments spécifiques s'appelle les attributs et les méthodes d'une classe.
chien de classe : '''C'est un chien''' def __init__ (soi, nom, âge) : self.name = nom; self.age = âge; self.legs = 4; def aboie (soi): print("woof wow wow~"); maodou = chien("MaoDou",5); maodou.bark(); print(maodou.age);
Lors de la définition d'une méthode, celle-ci doit inclure le paramètre formel self
__init__() est une méthode spéciale qui s'exécute automatiquement à chaque fois qu'une instance est créée.
maodou est un exemple
hériter
Le chien est une grande catégorie, qui est également subdivisée en sous-catégories telles que Poméranie, Teddy, Husky, Chuanchuan, etc.
Edamame est Chuanchuan, et Chuanchuan est aussi un type de chien, donc Chuanchuan a également les caractéristiques de base d'un chien.
Chuanchuan est une sous-classe de chien et le chien est la classe parente de Chuanchuan.
Classe Chien : def __init__(self,age=1,name="") : self.age = âge; self.name = nom; self.legs = 4; def aboie (soi): print(f"{self.name}:wowowwo~!"); def s'asseoir (soi) : print(f"{self.name}:assis"); def set_age(self,new_age=0) : self.age = new_age; def set_name(self,new_name="") : self.name = nouveau_nom; classe ChuanChuan(Chien): def __init__(self,father="keji",mother="lachang",age=1,name="") : super().__init__(âge,nom); self.father = père; self.mother = mère ; def set_father(self,father_name="") : self.father = nom_père; def set_mother(self,mother_name="") : self.mother = nom_mère; add_active = Vrai ; chiens = [] #Ce qui est ajouté à la liste, c'est l'adresse. La mettre ici provoquera une erreur logique. #temp_dog = ChuanChuan(); while add_active == True : temp_dog = ChuanChuan(); temp_dog.set_name(input("Veuillez saisir le nom de votre chien : ")); temp_dog.set_age(int(input("Veuillez saisir l'âge de votre chien : "))); temp_dog.set_father(input("Veuillez saisir le père de votre chien : ")); temp_dog.set_mother(input("Veuillez saisir la mère de votre chien : ")); chiens.append(temp_dog); if "no" == input("Voulez-vous ajouter un autre chien ? ") : add_active = Faux ; autre: imprimer(' '); pour moi chez les chiens : print(f"name:{i.name} age:{i.age} père:{i.father} mère:{i.mother}");
Chargement et utilisation de classes dans des modules
Utiliser un pseudo
à partir du nom_fichier importer le nom_classe comme alias
importer
formulaire nom_fichier importer nom_classe
importer le nom du fichier
à partir de l'importation du nom de fichier *
10-Documents et exceptions
Lire les données du fichier
avec open("file_name.tail") comme file_object : contenu = file_object.read()
avec
Fermez les fichiers lorsqu'ils ne sont plus accessibles
ouvrir()
ouvrir le fichier
Avant d'imprimer, de lire ou de toute autre étape permettant de manipuler un fichier, vous devez d'abord ouvrir le fichier.
.fermer()
fermer le fichier
fichier_obj = open("test.py"); contenu = file_obj.read(); print(contents.rstrip()); file_obj.close();
Lire le texte intégral
avec open("test_module.py") comme test_file : contenu = test_file.read(); print(contents.rstrip()); test_file.close();
lire ligne par ligne
lignes = []; avec open("test_module.py") comme test_file : pour l dans test_file : lignes.append(l); imprimer(l);
FILE_NAME = "test.py" ; avec open(FILE_NAME) comme test_file : lignes = test_file.readlines(); pour l en lignes : full_code = l.rstrip(); print(code_complet);
écrire un fichier
mode ouvert()
'r'
mode lecture
Ouvrir en mode lecture seule par défaut
'w'
mode d'écriture
Si un fichier portant le même nom est rencontré, le fichier d'origine sera effacé.
'un'
mode supplémentaire
Si le fichier existe, ajoutez-le à la fin du fichier. S'il n'existe pas, créez un nouveau fichier.
'r'
Mode lecture et écriture
SRC_FILE = "test.py" DEST_FILE = "test.txt" avec open(SRC_FILE) comme fichier_source : avec open(DEST_FILE,'w') comme destin_file : destin_file.write(source_file.read());
traitement de texte
.diviser()
Diviser le texte en mots
.count("mot-clé")
Comptez le nombre de fois où le mot-clé apparaît dans le texte
Gestion des exceptions
essayer: action(); sauf ErrorInfo : deal_with_errpr(); autre: go_on_without_error();
Type d'erreur
ErreurDivisionZéro
ErreurFichierNotFound
Échec silencieusement
essayer: action(); sauf ErrorInfo : passer; autre: go_on_without_error();
#-*- encodage : UTF-8 -*- def count_word(*file_name) : numéro_mot = []; pour f dans nom_fichier : tmp_txt = ""; essayer: avec open(f,'r',encoding='utf-8') comme cur_file : tmp_text = cur_file.read(); sauf FileNotFoundError : print(f"Désolé, le fichier {f} n'existe pas."); word_num.append(-1); passer autre: word_num.append(len(tmp_text.split())); renvoie numéro_mot ; word_in_file = count_word("test.py","copy_list.py","test.text","test_module.py","non.file"); print(mot_dans_fichier);
Stocker les données
JSON
.décharge()
.charger()
importer json nom_fichier = "setting.json" info_utilisateur = {} ; user_info["name"] = input("veuillez saisir votre nom "); user_info["age"] = int(input("veuillez saisir votre âge ")); user_info["phone"] = input("veuillez saisir votre téléphone "); essayer: avec open(file_name,'w') comme f : pour moi dans user_info.values() : json.dump(i,f); sauf FileNotFoundError : passer
refactorisation du code
11-Code d'essai
Tests unitaires
Comportements importants pour votre code
Tests de couverture complète
Considérez à nouveau lorsque le projet est largement utilisé
test unitaire
importer un test unitaire def get_formatted_name (premier, dernier) : return (premier ' ' dernier).title(); classe NomTestCase(unittest.TestCase) : '''Tester la fonctionnalité de la fonction''' def test_first_last_name(soi) : format_name = get_formatted_name("yasin","jue"); self.assertEqual(format_name,"Yasin Jue"); si __name__ == "__main__": unittest.main();
__name__ est une variable intégrée par défaut. Le test ne sera exécuté que lorsque ce fichier est le fichier principal.
Les méthodes de test doivent être nommées sous la forme test_
Toutes les méthodes seront exécutées automatiquement, pas besoin de les appeler manuellement
méthode d'assertion
.assertEqual()
égal
.assertNotEqual()
Pas d'attente
.assertTrue()
est vrai
.assertFalse()
est faux
.assertIn()
dans la liste
.assertNotIn()
pas dans la liste
Classe d'essai
importer un test unitaire Enquête de classe : def __init__(self,name="",questions="") : self.name = nom; self.questions = questions ; self.responses = []; def get_usr_name(soi) : self.name = input("Quel est votre nom ? "); def store_response(self,new_resp="") : self.response.append(new_resp); def start_survey(soi) : pour q dans self.questions : réponse = entrée (q ' '); self.store_response(réponse); def show_result(soi) : pour q,w dans les questions personnelles, les réponses personnelles : print(f"Question :{q}\tRéponse :{w} "); classe TestSurveyClass(unittest.TestCase) : def test_get_usr_name(self) : usr_name = "poney de test" ; poney = Survey(usr_name,"test"); self.assertTrue(pony.name == "poney de test"); def test_call_pony_again(self): self.assertEqual(pony.questions,"test"); unittest.main();
.installation()
Créer un ensemble d'exemples et de résultats pour faciliter les tests
classe TestSurveyClass(unittest.TestCase) : def setUp (auto): usr_name = "poney de test" ; self.pony = Survey(usr_name,"test"); def test_get_usr_name(self) : self.assertTrue(self.pony.name == "poney de test"); def test_call_pony_again(self): self.assertEqual(self.pony.questions,"test"); unittest.main();
Fonctions et méthodes
Une méthode est une fonction attachée à un objet
Une fonction est une expression qui a des entrées et des sorties
Les méthodes sont des opérations sur des objets
Pratique du projet Python
Invasion extraterrestre
thème
thème