Galeria de mapas mentais Pontos de conhecimento básico de Python
Este é um mapa mental sobre os fundamentos do Python. O conteúdo principal inclui: código de 11 testes, 10 arquivos e exceções, 9 classes, 8 funções, entrada de 7 usuários e while, 6 dicionários, instruções 5-if. , lista de 4 operações, introdução de 3 listas, 2 variáveis e tipos de dados, 1 introdução.
Editado em 2024-11-21 10:22:32A segunda unidade do Curso Obrigatório de Biologia resumiu e organizou os pontos de conhecimento, abrangendo todos os conteúdos básicos, o que é muito conveniente para todos aprenderem. Adequado para revisão e visualização de exames para melhorar a eficiência do aprendizado. Apresse-se e colete-o para aprender juntos!
Este é um mapa mental sobre Extração e corrosão de mim. O conteúdo principal inclui: Corrosão de metais, Extração de metais e a série de reatividade.
Este é um mapa mental sobre Reatividade de metais. O conteúdo principal inclui: Reações de deslocamento de metais, A série de reatividade de metais.
A segunda unidade do Curso Obrigatório de Biologia resumiu e organizou os pontos de conhecimento, abrangendo todos os conteúdos básicos, o que é muito conveniente para todos aprenderem. Adequado para revisão e visualização de exames para melhorar a eficiência do aprendizado. Apresse-se e colete-o para aprender juntos!
Este é um mapa mental sobre Extração e corrosão de mim. O conteúdo principal inclui: Corrosão de metais, Extração de metais e a série de reatividade.
Este é um mapa mental sobre Reatividade de metais. O conteúdo principal inclui: Reações de deslocamento de metais, A série de reatividade de metais.
Noções básicas de Python
1-Iniciar
Instale Python 3.x
Instale o editor de código
Olá palavra
2-Variáveis e tipos de dados
variável
Nome e uso
Os nomes das variáveis só podem usar letras, números e sublinhados, e o primeiro caractere não pode ser um número.
Os nomes das variáveis não podem ser palavras reservadas do Python (palavras-chave)
Os nomes das variáveis devem ser curtos e claros
idade_aluno
stu_class
stu_sex
...
Tratamento de erros de nomenclatura
Erros de digitação ao chamar variáveis
Preste atenção às informações do Traceback
o nome da variável é rótulo
Uma variável é um espaço para armazenar dados, semelhante a um pacote de arquivos (variável). Os dados (valor da variável) são colocados no pacote de arquivos (variável).
Através da etiqueta (nome da variável) no pacote de arquivos, você pode encontrar o pacote de arquivos (variável) correspondente ao rótulo e retirar o arquivo de dados (valor da variável) do pacote de arquivos para uso.
corda
Modificar maiúsculas e minúsculas
.título()
.superior()
.mais baixo()
Usando variáveis em strings
str = f"{nome_valor} é {valor}";
x = 10; x_nome = 'x'; full_str = f"{x_name} é {x}";
Cadeia de caracteres de formato
str = f"{nome_valor} é {valor}";
str = "{} é {}".format(value_name,value");
Insira novas linhas e tabulações em strings
Semelhante a C
Remover espaços finais
.rstrip()
str = str.rstrip();
número
inteiro
flutuador
constante
Python não tem tipos constantes
Variáveis com nomes em letras maiúsculas são geralmente consideradas constantes.
As constantes não são alteradas durante a execução do programa
Comentário
Comentários são textos no código que não são executados e fazem parte do código
Bons comentários podem melhorar a legibilidade do seu código
Para texto começando com '#', a linha inteira será tratada como um comentário e será ignorada durante a execução.
Introdução de 3 listas
definição de lista
lista = [elem1,elem2,...,]
lista[eu]
As listas são indexadas a partir de 0, ou seja, o primeiro elemento de uma lista não vazia é list[0]
família = ["abs","ppo","pva","pe"]; message = "O primeiro empreendedor é {}".format(family[0].upper()); imprimir(mensagem);
Adicionar, modificar, excluir elementos
Adicionar elemento
Adicione no final da lista
.append(valor)
família = ["abs","ppo","pva","pe"]; família.append("aibn"); imprimir(família);
inserir na lista
.inserir(i,valor)
família = ["abs","ppo","pva","pe"]; família.insert(0,"aibn"); imprimir(família);
Modificar elementos
lista[i] = novo_valor
família = ["abs","ppo","pva","pe"]; família[0] = "aibn"; imprimir(família);
Excluir elemento
.pop()
Pop o valor do último elemento da fila
.pop(0)
Abre o valor do elemento na posição especificada
.Delicatessen)
De acordo com o índice i, exclua o elemento em i
.remove(valor)
De acordo com o valor valor, exclua o primeiro elemento encontrado com o valor valor
Lista de organizações
.organizar()
Classifique a lista e substitua o conteúdo original da lista
.reverter()
len()
função para calcular comprimento
Os números não têm comprimento
Tabela, dicionário, string, tupla
classificado (lista)
Classifique a lista e produza a nova lista sem modificar o conteúdo da tabela antiga.
Esta é uma função
Lista de 4 operações
Percorra a lista
para x na lista:
#!/usr/bin/python3 animais = ["cachorro","gato","peixe","cabra","boi","girafa","guoqing"]; para animais em animais: print(f"O animal é {animal.title()}"); print(f"Acho que você,{animal.upper()}",end = ' '); print("Isso é tudo!!");
py controla a área de execução do código através de recuo/espaços
lista de valores
intervalo(iniciar,parar,passo)
#Crie uma lista de números de 0 a 99 e imprima-a número = intervalo(0,100); para eu em número: imprimir(eu); imprimir("Fim");
max(), min(), soma()
#Crie uma lista de números de 0 a 99 e imprima-a número = intervalo(0,100); para eu em número: imprimir(i,fim = ' '); imprimir("Fim"); print("O número máximo desta lista é {}".format(max(number))); print("O número mínimo desta lista é {}".format(min(number))); print("A soma desta lista é {}".format(sum(number)));
compreensão da lista
números = [valor**3 para valor no intervalo(0,50,2)]; imprimir(números);
Uma linha de instruções completa várias etapas
usar parte da lista
escorregar
lista[início:parada:etapa]
nomes = ["julia","jack","pony","petter","dick","lun"]; para nome em nomes[1:4:2]: imprimir(nome); imprimir("fim".superior());
cópia
lista1 = lista2[:]
nomes = ["julia","jack","pony","petter","dick","lun"]; alias = nomes; imprimir(alias); nomes.append("yasin"); print("nomes:",nomes); print("alias:",alias); #Aqui pode ser provado que o nome da variável é o rótulo da variável, e os nomes e apelidos aqui são dois rótulos diferentes da mesma variável. alias = alias[:]; nomes.pop(); print("nomes:",nomes); print("alias:",alias); #Use list1 = list2[:] para realmente criar outra lista imprimir("fim".superior());
Lista imutável - tupla
nome_tupla = (elem1,elem2,elem3,...)
Modificar tupla
redefinir
alimentos = ("mapo","hoguo","jiaozi"); print("O menu é o seguinte:",end =''); para alimentos em alimentos: print(comida,fim = ' '); imprimir(fim = ' '); #Redefinir tupla alimentos = ("amor","paz","inveja"); print("O menu é o seguinte:",end =''); para alimentos em alimentos: print(comida,fim = ' '); imprimir(fim = ' ');
Modificar elementos em uma tupla
tupla = (1,2,3,[4,5,6]) para eu na tupla: imprimir(eu); #Quando existem elementos variáveis na tupla, os elementos variáveis podem ser modificados. tupla[3].append(7); para eu na tupla: imprimir(eu);
Declaração 5-se
teste de condição
se A == B: função1(); Elif A == C: função2(): outro: saída();
==
!=
>=
<=
>
<
se A em B: função(A); outro: saída();
em
e
não
ou
declaração if
se condição == Verdadeiro: ações();
se condição == Verdadeiro: ação1(); outro: ação2();
se condição1: ação1(); condição de eliminação2: ação2(); ..... outro: ação_padrão();
Lista de processos
para elemento na lista: se elemento == condição: ação1(); outro: ação2();
se listar: print("NÃO VAZIO"); outro: imprimir("VAZIO");
6-Dicionário
usar dicionário
dicionário = {chave1:valor1,chave2,valor2,...}
dicionário de definição
dicionário = {}
Criar dicionário vazio
valor = dicionário[chave]
usar dicionário
dicionário[chave3] = valor3
Adicione pares de valores-chave
Se key3 existir, modifique o valor-chave de key3.
del dicionário[chave]
Excluir par de valores-chave
.get(chave,valor_padrão)
O método .get() obtém o valor da chave do dicionário
Dicionário transversal
.Unid()
Iterar sobre pares de valores-chave em um dicionário
para k,v em dicionário.items(): imprimir(f"{k}:{v}");
.chaves()
Iterar sobre as chaves em um dicionário
.valores()
Iterar sobre os valores em um dicionário
Definições aninhadas
lista de dicionário
dicionário1 = {chave_a1:valor_a1,chave_a2:valor_a2}; dicionário2 = {chave_b1:valor_b1,chave_b2:valor_b2}; dicionário3 = {chave_c1:valor_c1,chave_c2:valor_c2}; lista = [dicionário1,dicionário2,dicionário3]; para item na lista: imprimir(item);
dicionário de lista
dic1 = {"chave1":['a','b','c'],"chave2":['d','e','f']}; para v em dic1: imprimir(v);
dicionário dicionário
dic = {"chave1":{"sub_chave1":sub_valor1,"sub_chave2":sub_valor2},...}
Remover elementos duplicados
definir (dicionário)
Diferente da coleção
Eles são todos definidos por {```}
As coleções não têm ordem
Os elementos do conjunto não se repetem
7-Entrada do usuário e enquanto
entrada()
get_input = entrada("prompt")
Só pode aceitar strings e strings de saída
Você pode usar outras funções para converter strings
num = int(input("Insira um número ")); se num == 0: print("{} é múltiplo de 10.".format(num)); outro: print(f"{num} não é múltiplo de 10.");
enquanto
eu = 0; enquanto eu <5: imprimir(eu); eu = eu 1;
mensagem = ""; mensagem while! = "sair": imprimir(mensagem); mensagem = input("por favor insira uma frase e eu a repetirei ");
bandeira = Verdadeiro; mensagem = "" enquanto sinalizador == Verdadeiro: mensagem = entrada(""); if mensagem == "sair": bandeira = Falso; outro: imprimir(mensagem);
quebrar
Saia do loop e execute as instruções seguindo o corpo do loop
continuar
Ignore as instruções restantes no loop e comece do início
enquanto processa a lista
lista = ["elem1","elem2","elem3","elem1","elem2"]; enquanto "elem1" na lista: lista.remove("elem1");
durante o processamento do dicionário
flag_ativa = Verdadeiro; resposta = {}; enquanto active_flag == Verdadeiro: nome = input("qual é o seu nome?"); resposta[nome] = input("Qual é o seu hobby?"); if input("você gostaria que outra pessoa respondesse?") == "não": flag_ativa = Falso; para n,h em response.items(): print("{}O hobby de é {} ".format(n,h));
8 funções
def fun_name(param1=valor_padrão1,param2=valor_padrão2): ação1(parâmetro1); ação2(param2); retornar res;
def olá(nome = "mundo",msg = ''): print(f"Olá {nome.title()}.{msg}"); olá("yasin","Este sou eu!");
passando argumentos
argumento posicional
Python associa a posição dos parâmetros recebidos com a posição onde os parâmetros da função são definidos.
Python passa os parâmetros nas posições correspondentes para os parâmetros formais no momento da definição em ordem.
Argumentos de palavras-chave
fun(param1 = valor1,param3 = valor3,param2=valor2);
Valores padrão para parâmetros de função
def fun(param1 = "Olá"); Esta função também pode ser chamada omitindo o parâmetro1
Parâmetros de função omitáveis
def fun(param1,param2 = ''); #Aqui o parâmetro2 pode ser omitido ao chamar
valor de retorno
Retornar parâmetros simples
Dicionário de retorno
Lista de passes
Passe uma cópia da lista
divertido(lista[:])
Os parâmetros formais não modificarão a lista original.
Passe a lista inteira
diversão (lista)
As modificações na lista da função serão salvas na lista
Passe quantos argumentos quiser
def divertido(in,*parâmetros)
* significa construir uma tupla a partir de todos os parâmetros restantes passados
Combine vários tipos de parâmetros
def build(primeiro,segundo,**etc)
** significa construir um dicionário a partir dos pares de valores-chave restantes
build("Yasin","Jue",sex="m",peso=120);
Encapsulamento e importação
Salve a função como um arquivo com sufixo .py
Importar funções e módulos
de nome_do_arquivo importar fun_name
Importe apenas a função fun_name do file_name
importar nome_do_arquivo
Importar arquivo inteiro
Use aliases para funções e módulos
de file_name importar fun_name como fun_alias
importar file_name como file_alias
9 categorias
Criar e usar
Edamame é um cachorro, e cachorro é uma categoria, ou categoria, para abreviar.
Um tipo de coisa geralmente tem atributos comuns, por exemplo, um cachorro tem quatro patas (atributos), um cachorro pode latir (métodos), etc.
Abstrair coisas específicas é chamado de atributos e métodos de uma classe.
cachorro da turma: '''Isto é um cachorro''' def __init__(self,nome,idade): self.nome = nome; self.idade = idade; auto.pernas = 4; def casca(próprio): print("uau, au, au~"); maodou = cachorro("MaoDou",5); maodou.bark(); imprimir(maodou.idade);
Ao definir um método, ele deve incluir o parâmetro formal self
__init__() é um método especial executado automaticamente sempre que uma instância é criada.
maodou é uma instância
herdar
Cachorro é uma grande categoria, que também é subdividida em subcategorias como Pomeranian, Teddy, Husky, Chuanchuan e assim por diante.
Edamame é Chuanchuan, e Chuanchuan também é um tipo de cachorro, então Chuanchuan também possui as características básicas de um cachorro.
Chuanchuan é uma subclasse de cachorro, e cachorro é a classe pai de Chuanchuan.
classe Cachorro: def __init__(self,idade=1,nome=""): self.idade = idade; self.nome = nome; auto.pernas = 4; def casca(próprio): print(f"{self.name}:uauau~!"); def sentar(auto): print(f"{self.name}:sentar"); def set_age(self,new_age=0): self.idade = nova_idade; def set_name(self,novo_nome=""): self.nome = novo_nome; classe ChuanChuan(Cão): def __init__(self,pai="keji",mãe="lachang",idade=1,nome=""): super().__init__(idade,nome); self.pai = pai; self.mãe = mãe; def set_pai(self,nome_pai=""): self.pai = nome_pai; def set_mãe(self,nome_mãe=""): self.mother = mother_name; add_active = Verdadeiro; cães = [] #O que é adicionado à lista é o endereço. Colocá-lo aqui causará um erro de lógica. #temp_dog = ChuanChuan(); enquanto add_active == Verdadeiro: temp_dog = ChuanChuan(); temp_dog.set_name(input("Por favor insira o nome do seu cachorro: ")); temp_dog.set_age(int(input("Insira a idade do seu cachorro: "))); temp_dog.set_father(input("Por favor, insira o pai do seu cachorro: ")); temp_dog.set_mother(input("Por favor insira a mãe do seu cachorro: ")); cães.append(temp_dog); if "não" == input("Você gostaria de adicionar outro cachorro? "): add_active = Falso; outro: imprimir(' '); para eu em cães: print(f"nome:{i.nome} idade:{i.idade} pai:{i.pai} mãe:{i.mãe}");
Carregando e usando classes em módulos
Usar apelido
de file_name importar class_name como alias
importar
formulário nome_do_arquivo importar nome_da_classe
importar nome_do_arquivo
da importação de nome_do_arquivo *
10-Documentos e Exceções
Ler dados do arquivo
com open("file_name.tail") como file_object: conteúdo = arquivo_objeto.read()
com
Feche os arquivos quando eles não forem mais acessados
abrir()
abrir arquivo
Antes de imprimir, ler ou qualquer outra etapa para manipular um arquivo, você deve primeiro abri-lo.
.fechar()
fechar arquivo
arquivo_obj = open("teste.py"); conteúdo = arquivo_obj.read(); imprimir(conteúdo.rstrip()); arquivo_obj.close();
Leia o texto completo
com open("test_module.py") como test_file: conteúdo = test_file.read(); imprimir(conteúdo.rstrip()); test_file.close();
leia linha por linha
linhas = []; com open("test_module.py") como test_file: para l em test_file: linhas.append(l); imprimir(eu);
FILE_NAME = "teste.py"; com open(FILE_NAME) como test_file: linhas = test_file.readlines(); para l em linhas: full_code = l.rstrip(); imprimir(código_completo);
escrever arquivo
modo aberto()
'r'
modo de leitura
Abrir no modo somente leitura por padrão
'c'
modo de gravação
Se um arquivo com o mesmo nome for encontrado, o arquivo original será apagado.
'um'
modo adicional
Se o arquivo existir, anexe-o ao final do arquivo. Se não existir, crie um novo arquivo.
'r'
Modo de leitura e gravação
SRC_FILE = "teste.py" DEST_FILE = "teste.txt" com open(SRC_FILE) como source_file: com open(DEST_FILE,'w') como destin_file: destin_file.write(source_file.read());
processamento de texto
.dividir()
Divida o texto em palavras
.count("palavra-chave")
Conte o número de vezes que a palavra-chave aparece no texto
Tratamento de exceções
tentar: Ação(); exceto Informações de erro: deal_with_errpr(); outro: go_on_without_error();
tipo de erro
Erro ZeroDivision
Erro FileNotFound
Falhar silenciosamente
tentar: Ação(); exceto Informações de erro: passar; outro: go_on_without_error();
#-*- codificação: UTF-8 -*- def palavra_contagem(*nome_arquivo): palavra_num = []; para f em nome_do_arquivo: tmp_txt = ""; tentar: com open(f,'r',encoding='utf-8') como cur_file: tmp_text=cur_file.read(); exceto FileNotFoundError: print(f"Desculpe, o arquivo {f} não existe."); palavra_num.append(-1); passar outro: word_num.append(len(tmp_text.split())); retornar palavra_num; word_in_file = count_word("test.py","copy_list.py","test.text","test_module.py","non.file"); imprimir(palavra_no_arquivo);
Armazenar dados
JSON
.jogar fora()
.carregar()
importar JSON nome_arquivo = "configuração.json" user_info = {}; user_info["nome"] = input("por favor insira seu nome "); user_info["idade"] = int(input("por favor insira sua idade ")); user_info["phone"] = input("por favor insira seu telefone "); tentar: com open(file_name,'w') como f: para eu em user_info.values(): json.dump(i,f); exceto FileNotFoundError: passar
refatoração de código
11-Código de teste
Teste de unidade
Comportamentos importantes para seu código
Teste de cobertura total
Considere novamente quando o projeto é amplamente utilizado
teste unitário
importar teste unitário def get_formatted_name(primeiro,último): return (primeiro '' último).título(); classe NomeTestCase (unittest.TestCase): '''Funcionalidade da função de teste''' def test_first_last_name(self): format_name = get_formatted_name("yasin","jue"); self.assertEqual(nome_formato,"Yasin Jue"); se __nome__ == "__main__": unittest.main();
__name__ é uma variável padrão integrada. O teste só será executado quando este arquivo for o arquivo principal.
Os métodos de teste devem ser nomeados no formato test_
Todos os métodos serão executados automaticamente, não há necessidade de chamá-los manualmente
método de afirmação
.assertEqual()
igual
.assertNotEqual()
Não, espere
.assertTrue()
é verdade
.assertFalse()
é falso
.assertIn()
na lista
.assertNotIn()
não está na lista
Aula de teste
importar teste unitário Pesquisa de classe: def __init__(self,nome="",perguntas=""): self.nome = nome; self.questions = perguntas; self.respostas = []; def get_usr_name(self): self.name = input("Qual é o seu nome? "); def store_response(self,new_resp=""): self.response.append(new_resp); def start_survey(self): para q em self.questions: resposta = entrada(q ' '); self.store_response(resposta); def show_result(self): para q,w em self.questions,self.responses: print(f"Pergunta:{q}\tResposta:{w} "); classe TestSurveyClass(unittest.TestCase): def test_get_usr_name(self): usr_name = "teste pônei"; pônei = Pesquisa(usr_name,"teste"); self.assertTrue(pony.name == "teste pônei"); def test_call_pony_again(self): self.assertEqual(pony.questions,"teste"); unittest.main();
.configurar()
Crie um conjunto de exemplos e resultados para facilitar os testes
classe TestSurveyClass(unittest.TestCase): def configuração(self): usr_name = "teste pônei"; self.pony = Pesquisa(usr_name,"teste"); def test_get_usr_name(self): self.assertTrue(self.pony.name == "teste pônei"); def test_call_pony_again(self): self.assertEqual(self.pony.questions,"teste"); unittest.main();
Funções e métodos
Um método é uma função anexada a um objeto
Uma função é uma expressão que possui entradas e saídas
Métodos são operações em objetos
Prática de projeto Python
Invasão Alienígena
tema
tema