Função integrada 1.str
Encontrar turma
str.find
str.index
Todos eles são usados para descobrir se uma determinada string existe em str.
A diferença: se str.find não for encontrado, o valor de retorno será -1, se str.index não for encontrado, um ValueError será retornado e o programa reportará um erro.
str.rfind/str.lfind: Pesquise pela direita, pesquise pela esquerda.
Tipo de classe de julgamento
Determine as letras
str.isalpha
Julgue os números (não use se puder, use regras regulares para encontrar números)
str.isdigit:
str.isnumérico
str.isdecimal
Determinar caso (caracteres chineses não têm conceito de caso)
str.islower/str.isupper
Aula de julgamento de conteúdo
começa com/termina com: se começa ou termina com xxx
Classe de operação
str.format: formatação, print("{}".format(a))
str.strip: Por padrão, os espaços em ambos os lados da string são excluídos, incluindo lstrip/rstrip.
str.strip('a') pode especificar a exclusão de 'a', não um único caractere, mas a string inteira.
str.join: Splice strings, s1 = '$', s1.join(ss), ss é uma lista, o significado é unir cada elemento em ss com os caracteres de s1.
2. Tipos de dados integrados do Python
Lista
L1=[1,2,3,"HHH"] é criado diretamente sem qualquer restrição de tipo; L1=list(s) dividirá a string s em caracteres únicos e formará uma lista.
Operação de fatiamento
L2 = L1[0:4], esquerda inclui, direita não inclui; L2 gera uma nova lista, que pode ser verificada através de consulta de id, L2 é nova.
L2 = L1[:4]: desde o início
L2 = L1[2:]: até o fim
L1[::2]: O tamanho do passo de crescimento é 2 e o tamanho do passo é um número negativo, indicando que a ordem é da direita para a esquerda (-1 é o primeiro à direita)
Tupla
uma = (1,2,3)
li = [1,2,3,"zlh"]
tu = tupla(li)
Semelhante ao recurso Lista
ordenadamente
Pode ser acessado, mas não pode ser modificado
Elementos de qualquer tipo
Uso especial de tupla
uma = 100
b = "zlh"
a, b valores trocam posições: a, b = b, a exclusivo para python
Definir
sc = {1,2,3,5,6,1,2}
transtorno
Não há elementos duplicados
for loop: sd = {i**2 for i in sc} eleve a saída ao quadrado
Você pode realizar operações matemáticas, como diferença, união, interseção, etc.
Conjunto congelado: sb = frozenset(sc), que não é muito diferente do conjunto e não pode ser modificado sem operações de escrita.
Dados
dic = {'james':98,'trabalho':78}
valor chave
dic.items(): itera chaves e valores simultaneamente
funções integradas
help/type/id/print/len/max/min/count/index/clear/remove/discard等
O id pode ser usado para verificar se aponta para a mesma memória, e não se os valores são iguais.
remover/descartar: ambos excluem elementos do conjunto. Remove reportará um erro se não houver nada para excluir. Disacard irá ignorá-lo e continuará se não houver exclusão.
3. Classe
A definição de um método de classe, sem self entre colchetes, não pode acessar o conteúdo da instância, ou seja, self.xxx não pode ser utilizado.
aluno da turma:
nome = zlh
idade = 20
def sos():
retornar Nenhum
Os métodos de classe podem chamar variáveis da classe
print("{},{}".format(Student.name, __class__.age)) # Ambas as formas de representação de classes são aceitáveis.
Construtor
Quando uma classe é instanciada, ela executa operações básicas de inicialização. A primeira função que é executada automaticamente e os parâmetros formais da classe são definidos no construtor.
def __init__(self): # Deve haver self
def __init__(self, a, b): a, b são parâmetros da classe e os parâmetros reais devem ser fornecidos durante a instanciação.
Orientado a Objeto
herdar
encapsulamento
Polimorfismo
herdar
Todas as classes devem ter uma classe pai
As subclasses podem ter várias classes pai
issubclass(a,b): Verifica se a é uma subclasse de b
super().run(): Você pode chamar diretamente o método da classe pai na subclasse
encapsulamento
Dois níveis de encapsulamento de classe
O primeiro nível de encapsulamento: uma classe é um contêiner, que por si só é uma espécie de encapsulamento
O segundo nível de encapsulamento: atributos privados definidos na classe são usados apenas dentro da classe e não podem ser acessados externamente.
Convenção: Qualquer nome que comece com um sublinhado duplo "__" deve ser uma propriedade privada dentro da classe e não pode ser acessado de fora. (Na verdade, também pode ser acessado adicionando "_class name" na frente)
Polimorfismo
Chamar o mesmo método em objetos instanciados por classes diferentes possui processos de implementação diferentes.