Galleria mappe mentale Punti di conoscenza di base di Python
Questa è una mappa mentale sulle basi di Python. I contenuti principali includono: codice da 11 test, 10 file ed eccezioni, 9 classi, 8 funzioni, 7 input utente e while, 6 dizionari, 5 istruzioni if. , Elenco di 4 operazioni, introduzione di 3 elenchi, 2 variabili e tipi di dati, 1 - Per iniziare.
Modificato alle 2024-11-21 10:22:32Il s'agit d'une carte mentale sur les anévrismes intracrâniens, avec le contenu principal, notamment: le congé, l'évaluation d'admission, les mesures infirmières, les mesures de traitement, les examens auxiliaires, les manifestations cliniques et les définitions.
Il s'agit d'une carte mentale sur l'entretien de comptabilité des coûts, le principal contenu comprend: 5. Liste des questions d'entrevue recommandées, 4. Compétences de base pour améliorer le taux de réussite, 3. Questions professionnelles, 2. Questions et réponses de simulation de scénarios, 1. Questions et réponses de capacité professionnelle.
Il s'agit d'une carte mentale sur les méthodes de recherche de la littérature, et son contenu principal comprend: 5. Méthode complète, 4. Méthode de traçabilité, 3. Méthode de vérification des points, 2. Méthode de recherche inversée, 1. Méthode de recherche durable.
Il s'agit d'une carte mentale sur les anévrismes intracrâniens, avec le contenu principal, notamment: le congé, l'évaluation d'admission, les mesures infirmières, les mesures de traitement, les examens auxiliaires, les manifestations cliniques et les définitions.
Il s'agit d'une carte mentale sur l'entretien de comptabilité des coûts, le principal contenu comprend: 5. Liste des questions d'entrevue recommandées, 4. Compétences de base pour améliorer le taux de réussite, 3. Questions professionnelles, 2. Questions et réponses de simulation de scénarios, 1. Questions et réponses de capacité professionnelle.
Il s'agit d'une carte mentale sur les méthodes de recherche de la littérature, et son contenu principal comprend: 5. Méthode complète, 4. Méthode de traçabilité, 3. Méthode de vérification des points, 2. Méthode de recherche inversée, 1. Méthode de recherche durable.
Nozioni di base su Python
1-Inizio
Installa Python 3.x
Installa l'editor di codice
Ciao Parola
2-Variabili e tipi di dati
variabile
Nome e uso
I nomi delle variabili possono utilizzare solo lettere, numeri e trattini bassi e il primo carattere non può essere un numero.
I nomi delle variabili non possono essere parole riservate Python (parole chiave)
I nomi delle variabili dovrebbero essere brevi e chiari
studente_età
stu_class
stu_sex
...
Gestione degli errori di denominazione
Errori di battitura durante la chiamata di variabili
Presta attenzione alle informazioni di traceback
il nome della variabile è etichetta
Una variabile è uno spazio per la memorizzazione dei dati, simile a un file bag (variabile). I dati (valore variabile) vengono inseriti nel file bag (variabile).
Attraverso l'etichetta (nome variabile) sul raccoglitore, è possibile trovare il raccoglitore (variabile) corrispondente all'etichetta ed estrarre il file di dati (valore variabile) dal raccoglitore per utilizzarlo.
corda
Modifica maiuscole e minuscole
.titolo()
.superiore()
.inferiore()
Utilizzo delle variabili nelle stringhe
str = f"{value_name} è {value}";
x = 10; nome_x = 'x'; full_str = f"{x_name} è {x}";
Stringa di formato
str = f"{value_name} è {value}";
str = "{} è {}".format(value_name,value");
Inserisci ritorni a capo e tabulazioni nelle stringhe
Simile a C
Rimuovi gli spazi finali
.rstrip()
str = str.rstrip();
numero
intero
galleggiante
costante
Python non ha tipi costanti
Le variabili con nomi scritti tutti in lettere maiuscole sono generalmente considerate costanti.
Le costanti non vengono modificate durante l'esecuzione del programma
Commento
I commenti sono testo nel codice che non vengono eseguiti e fanno parte del codice
Buoni commenti possono migliorare la leggibilità del tuo codice
Per il testo che inizia con "#", l'intera riga verrà trattata come un commento e verrà ignorata durante l'esecuzione.
Introduzione a 3 elenchi
definizione dell'elenco
lista = [elem1,elem2,...,]
elenco[i]
Le liste sono indicizzate a partire da 0, cioè il primo elemento di una lista non vuota è lista[0]
famiglia = ["abs","ppo","pva","pe"]; messaggio = "Il primo stratagemma è {}".format(family[0].upper()); stampa(messaggio);
Aggiungi, modifica, elimina elementi
Aggiungi elemento
Aggiungi alla fine dell'elenco
.append(valore)
famiglia = ["abs","ppo","pva","pe"]; famiglia.append("aibn"); stampa(famiglia);
inserire nell'elenco
.insert(i,valore)
famiglia = ["abs","ppo","pva","pe"]; famiglia.insert(0,"aibn"); stampa(famiglia);
Modifica elementi
lista[i] = nuovo_valore
famiglia = ["abs","ppo","pva","pe"]; famiglia[0] = "aibn"; stampa(famiglia);
Elimina elemento
.pop()
Inserisci il valore dell'ultimo elemento della coda
.pop(0)
Visualizza il valore dell'elemento nella posizione specificata
.gastronomia)
Secondo l'indice i, elimina l'elemento in i
.remove(valore)
In base al valore valore, elimina il primo elemento trovato con il valore valore
Elenco delle organizzazioni
.ordinare()
Ordina l'elenco e sovrascrivi il contenuto dell'elenco originale
.inversione()
lente()
funzione per calcolare la lunghezza
I numeri non hanno lunghezza
Tabella, dizionario, stringa, tupla
ordinato (elenco)
Ordina l'elenco e genera il nuovo elenco senza modificare il contenuto della vecchia tabella.
Questa è una funzione
4-Elenco operazioni
Attraversa l'elenco
per x nell'elenco:
#!/usr/bin/python3 animali = ["cane","gatto","pesce","capra","bue","giraffa","guoqing"]; per gli animali negli animali: print(f"L'animale è {animal.title()}"); print(f"Penso che tu,{animale.upper()}",end = ' '); print("Questo è tutto!!");
py controlla l'area di esecuzione del codice attraverso rientri/spazi
elenco di valori
intervallo (inizio, fine, passo)
#Crea un elenco di numeri da 0 a 99 e stampalo numero = intervallo(0,100); per i in numero: stampa(i); print("Fine");
massimo(), minimo(), somma()
#Crea un elenco di numeri da 0 a 99 e stampalo numero = intervallo(0,100); per i in numero: print(i,fine = ' '); print("Fine"); print("Il numero massimo di questa lista è {}".format(max(numero))); print("Il numero minimo di questa lista è {}".format(min(numero))); print("La somma di questa lista è {}".format(sum(numero)));
comprensione delle liste
numeri = [valore**3 per valore nell'intervallo(0,50,2)]; stampa(numeri);
Una riga di istruzioni completa più passaggi
utilizzare parte dell'elenco
scontrino
elenco[inizio:fine:passaggio]
nomi = ["julia","jack","pony","petter","cazzo","lun"]; for nome in nomi[1:4:2]: stampa(nome); print("fine".upper());
copia
lista1 = lista2[:]
nomi = ["julia","jack","pony","petter","cazzo","lun"]; alias = nomi; stampa(alias); nomi.append("yasin"); print("nomi:",nomi); print("alias:",alias); #Qui si può dimostrare che il nome della variabile è l'etichetta della variabile, e i nomi e l'alias qui sono due etichette diverse della stessa variabile. alias = alias[:]; nomi.pop(); print("nomi:",nomi); print("alias:",alias); #Utilizza lista1 = lista2[:] per creare veramente un'altra lista print("fine".upper());
Elenco immutabile: tupla
nome_tupla = (elem1,elem2,elem3,...)
Modifica tupla
ridefinire
cibi = ("mapo","hoguo","jiaozi"); print("Il menu è seguente:",end =''); per gli alimenti negli alimenti: print(cibo,fine = ' '); stampa(fine = ' '); #Ridefinisci la tupla cibi = ("amore","pace","invidia"); print("Il menu è seguente:",end =''); per gli alimenti negli alimenti: print(cibo,fine = ' '); stampa(fine = ' ');
Modifica gli elementi in una tupla
tupla = (1,2,3,[4,5,6]) per i in tupla: stampa(i); #Quando ci sono elementi variabili nella tupla, gli elementi variabili possono essere modificati. tupla[3].append(7); per i in tupla: stampa(i);
5-se dichiarazione
prova di condizione
se A == B: funzione1(); elif A == C: funzione2(): altro: Uscita();
==
!=
>=
<=
>
<
se A in B: funzione(A); altro: Uscita();
In
E
non
O
se dichiarazione
se condizione == Vero: azioni();
se condizione == Vero: azione1(); altro: azione2();
se condizione1: azione1(); condizione elif2: azione2(); ..... altro: azione_predefinita();
Elenco dei processi
per l'elemento nell'elenco: if elemento == condizione: azione1(); altro: azione2();
se elenco: print("NON VUOTO"); altro: stampa("VUOTO");
6-Dizionario
utilizzare il dizionario
dizionario = { chiave1:valore1,chiave2,valore2,...}
dizionario delle definizioni
dizionario = {}
Crea dizionario vuoto
valore = dizionario[chiave]
utilizzare il dizionario
dizionario[chiave3] = valore3
Aggiungi coppie chiave-valore
Se key3 esiste, modificare il valore della chiave di key3.
del dizionario[tasto]
Elimina la coppia chiave-valore
.get(chiave,valore_predefinito)
Il metodo .get() ottiene il valore della chiave del dizionario
Dizionario trasversale
.elementi()
Iterare sulle coppie chiave-valore in un dizionario
per k,v in dizionario.items(): stampa(f"{k}:{v}");
.chiavi()
Ripetere le chiavi in un dizionario
.valori()
Ripetere i valori in un dizionario
Definizioni annidate
elenco dei dizionari
dizionario1 = {chiave_a1:valore_a1,chiave_a2:valore_a2}; dizionario2 = {chiave_b1:valore_b1,chiave_b2:valore_b2}; dizionario3 = {chiave_c1:valore_c1,chiave_c2:valore_c2}; lista = [dizionario1,dizionario2,dizionario3]; per l'elemento nell'elenco: stampa(oggetto);
dizionario degli elenchi
dic1 = {"chiave1":['a','b','c'],"chiave2":['d','e','f']}; per v in dic1: stampa(v);
dizionario dizionario
dic = {"key1":{"sub_key1":sub_value1,"sub_key2":sub_value2},...}
Rimuovi gli elementi duplicati
set(dizionario)
Diverso dalla raccolta
Sono tutti definiti da {```}
Le raccolte non hanno ordine
Gli elementi dell'insieme non vengono ripetuti
7-Input dell'utente e mentre
ingresso()
get_input = input("prompt")
Può accettare solo stringhe e stringhe di output
Puoi utilizzare altre funzioni per convertire le stringhe
num = int(input("inserisci un numero ")); se numero == 0: print("{} è multiplo di 10.".format(num)); altro: print(f"{num} non è multiplo di 10.");
Mentre
io = 0; mentre io < 5: stampa(i); io = io1;
messaggio = ""; messaggio while != "esci": stampa(messaggio); messaggio = input("per favore inserisci una frase e la ripeterò ");
bandiera = Vero; messaggio = "" while flag == Vero: messaggio = input(""); if messaggio == "esci": bandiera = Falso; altro: stampa(messaggio);
rottura
Esci dal ciclo ed esegui le istruzioni che seguono il corpo del ciclo
continuare
Ignora le istruzioni rimanenti nel ciclo e inizia dall'inizio
durante l'elaborazione della lista
lista = ["elem1","elem2","elem3","elem1","elem2"]; mentre "elem1" nell'elenco: lista.remove("elem1");
durante l'elaborazione del dizionario
flag_attivo = Vero; risposta = {}; while active_flag == Vero: nome = input("come ti chiami?"); risposta[nome] = input("qual è il tuo hobby?"); if input("vuoi lasciare che un'altra persona risponda?") == "no": flag_attivo = Falso; per n,h in risposta.items(): print("L'hobby di {}\è {} ".format(n,h));
8 funzioni
def nome_fun(param1=valore_predefinito1,param2=valore_predefinito2): azione1(parametro1); azione2(parametro2); restituire ris;
def ciao(nome = "mondo",msg = ''): print(f"Ciao {nome.titolo()}.{msg}"); ciao("yasin","Questo sono io!");
argomenti passanti
argomento posizionale
Python associa la posizione dei parametri in ingresso con la posizione in cui sono definiti i parametri della funzione.
Python passa i parametri nelle posizioni corrispondenti nei parametri formali al momento della definizione in ordine.
Argomenti con parole chiave
fun(param1 = valore1,param3 = valore3,param2=valore2);
Valori predefiniti per i parametri della funzione
def divertimento(param1 = "Ciao"); Questa funzione può essere chiamata anche omettendo param1
Parametri della funzione omettibili
def divertimento(param1,param2 = ''); #Qui param2 può essere omesso durante la chiamata
valore restituito
Restituisce parametri semplici
Dizionario di restituzione
Elenco dei passaggi
Passa una copia della lista
divertimento(elenco[:])
I parametri formali non modificheranno l'elenco originale.
Passa l'intera lista
divertimento(lista)
Le modifiche all'elenco nella funzione verranno salvate nell'elenco
Passa tutti gli argomenti che desideri
def divertimento(in,*params)
* significa costruire una tupla da tutti i restanti parametri passati
Combina più tipi di parametri
def build(primo,secondo,**ecc)
** significa costruire un dizionario dalle rimanenti coppie chiave-valore
build("Yasin","Jue",sex="m",peso=120);
Incapsulamento e importazione
Salva la funzione come file con suffisso .py
Importa funzioni e moduli
da nome_file importa nome_fun
Importa solo la funzione fun_name da file_name
importa nome_file
Importa l'intero file
Utilizzare alias per funzioni e moduli
da nome_file importa nome_fun come alias_fun
importa nome_file come alias_file
9 categorie
Crea e usa
Edamame è un cane, e cane è una categoria, o categoria in breve.
Un tipo di cose spesso hanno attributi comuni, ad esempio un cane ha quattro zampe (attributi), un cane può abbaiare (metodi), ecc.
L'astrazione di cose specifiche è chiamata attributi e metodi di una classe.
cane di classe: '''Questo è un cane''' def __init__(se stesso,nome,età): self.nome = nome; auto.età = età; self.gambe = 4; def abbaiare(self): print("bau bau bau~"); maodou = cane("MaoDou",5); maodou.corteccia(); stampa(maodou.age);
Quando si definisce un metodo, questo deve includere il parametro formale self
__init__() è un metodo speciale che viene eseguito automaticamente ogni volta che viene creata un'istanza.
maodou è un esempio
ereditare
Il cane è una grande categoria, suddivisa anche in sottocategorie come Pomerania, Teddy, Husky, Chuanchuan e così via.
Edamame è Chuanchuan e anche Chuanchuan è un tipo di cane, quindi anche Chuanchuan ha le caratteristiche di base di un cane.
Chuanchuan è una sottoclasse del cane e il cane è la classe genitore di Chuanchuan.
cane di classe: def __init__(self,età=1,nome=""): auto.età = età; self.nome = nome; self.gambe = 4; def abbaiare(self): print(f"{self.nome}:wowowwo~!"); def sedersi(self): print(f"{self.nome}:siediti"); def set_età(self,nuova_età=0): self.età = nuova_età; def set_name(self,new_name=""): self.nome = nuovo_nome; classe ChuanChuan(Cane): def __init__(self,father="keji",mother="lachang",age=1,name=""): super().__init__(età,nome); self.padre = padre; self.madre = madre; def set_padre(self,father_name=""): self.padre = nome_padre; def set_mother(self,mother_name=""): self.madre = nome_madre; add_active = Vero; cani = [] #Ciò che viene aggiunto all'elenco è l'indirizzo. Inserendolo qui causerà un errore logico. #temp_dog = ChuanChuan(); while add_active == Vero: temp_dog = ChuanChuan(); temp_dog.set_name(input("Inserisci il nome del tuo cane: ")); temp_dog.set_age(int(input("Inserisci l'età del tuo cane: "))); temp_dog.set_father(input("Per favore inserisci il padre del tuo cane: ")); temp_dog.set_mother(input("Per favore inserisci la madre del tuo cane: ")); cani.append(temp_dog); if "no" == input("Vuoi aggiungere un altro cane? "): add_active = Falso; altro: stampa(' '); per i nei cani: print(f"nome:{i.nome} età:{i.età} padre:{i.padre} madre:{i.madre}");
Caricamento e utilizzo delle classi nei moduli
Usa l'alias
da nome_file importa nome_classe come alias
importare
form nome_file import nome_classe
importa nome_file
da nome_file importato *
10-Documenti ed eccezioni
Leggere i dati dal file
con open("nome_file.tail") come oggetto_file: contenuto = file_oggetto.read()
con
Chiudi i file quando non è più possibile accedervi
aprire()
aprire il file
Prima di stampare, leggere o eseguire qualsiasi altro passaggio per manipolare un file, è necessario prima aprire il file.
.vicino()
chiudere il file
file_obj = open("test.py"); contenuto = file_obj.read(); stampa(contents.rstrip()); file_oggetto.close();
Leggi il testo completo
con open("test_module.py") come test_file: contenuto = test_file.read(); stampa(contents.rstrip()); test_file.close();
leggere riga per riga
linee = []; con open("test_module.py") come test_file: per l in test_file: righe.append(l); stampa(l);
NOME_FILE = "test.py"; con open(FILE_NAME) come test_file: righe = test_file.readlines(); per l nelle righe: codice_intero = l.rstrip(); stampa(codice_completo);
scrivere file
modalità aperta()
'R'
modalità lettura
Apri in modalità di sola lettura per impostazione predefinita
'w'
modalità di scrittura
Se viene rilevato un file con lo stesso nome, il file originale verrà cancellato.
'UN'
modalità aggiuntiva
Se il file esiste, aggiungilo alla fine del file. Se non esiste, crea un nuovo file.
'R '
Modalità lettura e scrittura
SRC_FILE = "test.py" DEST_FILE = "prova.txt" con open(SRC_FILE) come source_file: con open(DEST_FILE,'w') come destin_file: destin_file.write(source_file.read());
elaborazione del testo
.diviso()
Dividere il testo in parole
.count("parola chiave")
Contare il numero di volte in cui la parola chiave parola chiave appare nel testo
Gestione delle eccezioni
Tentativo: azione(); tranne ErrorInfo: deal_with_errpr(); altro: vai_on_senza_errori();
Tipo di errore
Errore di divisione zero
Errore FileNotFound
Fallisci silenziosamente
Tentativo: azione(); tranne ErrorInfo: passaggio; altro: vai_on_senza_errori();
#-*- codifica: UTF-8 -*- def conteggio_parole(*nome_file): numero_parola = []; per f in nome_file: tmp_txt = ""; Tentativo: con open(f,'r',encoding='utf-8') come cur_file: tmp_testo = cur_file.read(); tranne FileNotFoundError: print(f"Spiacenti, il file {f} non esiste."); numero_parola.append(-1); passaggio altro: word_num.append(len(tmp_text.split())); restituisce numero_parola; word_in_file = count_word("test.py","copy_list.py","test.text","test_module.py","non.file"); stampa(parola_in_file);
Memorizzare i dati
JSON
.scarico()
.carico()
importa json nome_file = "impostazione.json" informazioni_utente = {}; user_info["nome"] = input("inserisci il tuo nome "); user_info["età"] = int(input("inserisci la tua età ")); user_info["telefono"] = input("inserisci il tuo telefono "); Tentativo: con open(nome_file,'w') come f: per i in user_info.values(): json.dump(i,f); tranne FileNotFoundError: passaggio
refactoring del codice
11-Codice di prova
Test unitari
Comportamenti importanti per il tuo codice
Test di copertura completa
Considerare nuovamente quando il progetto sarà ampiamente utilizzato
unittest
importare unittest def get_formatted_name(primo,cognome): return (primo '' ultimo).title(); classe NomeTestCase(unittest.TestCase): '''Verificare la funzionalità della funzione''' def test_nome_cognome(self): format_name = get_formatted_name("yasin","jue"); self.assertEqual(nome_formato,"Yasin Jue"); if __name__ == "__main__": unittest.main();
__name__ è una variabile predefinita incorporata. Il test verrà eseguito solo quando questo file è il file principale.
I metodi di test devono essere denominati nella forma test_
Tutti i metodi verranno eseguiti automaticamente, non è necessario chiamarli manualmente
metodo di asserzione
.assertEqual()
pari
.assertNotEqual()
Non aspettare
.assertTrue()
è vero
.assertFalse()
è falso
.assertIn()
nell'elenco
.assertNotIn()
non in elenco
Lezione di prova
importare unittest Sondaggio di classe: def __init__(self,nome="",domande=""): self.nome = nome; self.questions = domande; self.risposte = []; def get_usr_name(self): self.name = input("Come ti chiami? "); def store_response(self,new_resp=""): self.response.append(new_resp); def inizio_sondaggio(self): per q nelle domande su se stessi: risposta = input(q ' '); self.store_response(risposta); def mostra_risultato(self): per q,w in auto.domande, auto.risposte: print(f"Domanda:{q}\tRisposta:{w} "); classe TestSurveyClass(unittest.TestCase): def test_get_usr_name(self): usr_name = "pony di prova"; pony = Survey(nome_usr,"test"); self.assertTrue(pony.name == "test pony"); def prova_chiama_pony_ancora(self): self.assertEqual(pony.questions,"test"); unittest.main();
.impostare()
Creare una serie di esempi e risultati per facilitare i test
classe TestSurveyClass(unittest.TestCase): def impostazione(self): usr_name = "pony di prova"; self.pony = Sondaggio(usr_name,"test"); def test_get_usr_name(self): self.assertTrue(self.pony.name == "prova pony"); def prova_chiama_pony_ancora(self): self.assertEqual(self.pony.questions,"test"); unittest.main();
Funzioni e metodi
Un metodo è una funzione collegata a un oggetto
Una funzione è un'espressione che ha input e output
I metodi sono operazioni sugli oggetti
Pratica del progetto Python
Invasione aliena
tema
tema