Cependant, comme il s'agit d'un aide-mémoire, il n'enseigne que l'existence de la fonction, et une explication détaillée n'est pas décrite dans un souci de bonne visibilité.
-Chaque fois que vous appelez une fonction, un espace de noms est créé pour les variables locales de cette fonction et libéré lorsque vous quittez la fonction. -Tous passent par référence sauf pour l'attribution d'objets immuables -si et pour ne sont pas définis
##Définition des fonctions -nom de la fonction def(Argument 1,Argument 2,...) -Les arguments nommés permettent à l'ordre des arguments d'être arbitraire(C++Fonctionnalités introuvables dans)
Cependant, si un argument nommé apparaît lors de la lecture de la liste d'arguments de gauche à droite, les arguments suivants doivent être nommés.(Les arguments nommés sont justifiés à droite)。
-Valeur par défaut disponible pour l'argument(C++le même que.)
C en raison de la présence d'arguments nommés++Plus de valeur par défaut peut être définie(Parce que l'ordre des arguments est libre en fonction de l'argument nommé)
c++Doit avoir la valeur par défaut justifiée à droite
-Aucun fichier d'en-tête requis pour définir les fonctions
-Pas besoin de spécifier le type de retour dans la définition de la fonction(Aucune saisie requise)
##import (#Correspondant à inclure)
import sys
Doit être fait en premier
Exemple
sys.path.insert(0, new_path)
Nom du module.nom de la classe.Nom de la fonction()
###Utilisez from pour charger les classes du module dans l'espace de noms global(Le nom du module peut être omis)
Exemple
à partir du chemin d'importation sys à partir du nom du module importation du nom de la classe
Ainsi, lorsque vous souhaitez appeler toutes les classes d'un module
depuis l'importation du nom du module*
Nom du modèle | une fonction | Contenu spécifique |
---|---|---|
Bool | Vrai ou faux | True False ,0 ≠ vrai 0=faux |
Valeur numérique | Entier, fraction, complexe(la distribution est tronquée) | 1, 1.0, |
liste | Arrangement qui peut stocker n'importe quel bujek(listeの要素にlisteも代入可) | a_list = ['a', 'b', 'mpilgrim', 'z', 'example'] |
Taple | Verrouillé afin qu'il ne puisse pas être changé dans la liste(もとのTapleが破壊的変更を受けるメンバ関数なし) | a_tuple=('a', 'b', 'mpilgrim', 'z', 'example') |
ensemble | Liste non ordonnée, non dupliquée | a_set ={'a', 'b', 'mpilgrim', 'z', 'example'} |
dictionnaire(Ensemble à clé) | Un ensemble de paires clé / valeur(Les clés peuvent être utilisées à la place des index dans les ensembles)La clé est unique | a_dict = {'key1': 'value1', 'key2': 'value2'} |
NoneType | Types qui ne gèrent que null | null est unique à NoneType |
opérateur | une fonction | commentaire |
---|---|---|
** | Puissance |
une fonction | Méthode | commentaire |
---|---|---|
Accès aux éléments | a[indesx] |
La limite est périodiquea[-1] Pointe vers le dernier élément |
Tranche pour générer une sous-chaîne | a[n:m] |
n<=i<m a[i]Est extrait sous forme de liste.a[:] Se réfère à tous les éléments |
Ajouter un élément | a.append(n) a.insert(n,m) |
append est ajouté à la fin, n est ajouté au mois,+ Vous pouvez également combiner des listes avec |
Ajouter un élément(Utiliser une liste) | a.extend([list]) |
extend est ajouté à la fin, prenant un objet de liste comme argument |
Supprimer l'élément | del a[1] a.remove('Nom de l'élément') |
位置で削除する方法と、具体的なNom de l'élémentで削除する方法 |
La boucle suivante est utile
for i,word in enumerate(['a','b','c']):
print i,word
Résultat de sortie
0 a
1 b
2 c
for i in range(0,11,1)
Les nombres ne peuvent pas être écrits directement en python (la lecture / écriture est une chaîne ou un binaire) Par conséquent, float (a) et str (a) sont nécessaires pour le traiter comme un nombre.
f = open('text.txt', 'r')
addressList = []
for line in f:
name, zip, address = line[:-1].split('\t')
print name, zip, address
addressList.append(float(address))
Les nombres doivent être lancés pour flotter dès qu'ils sont lus
Un clojures est une fonction dans laquelle une fonction définie en dehors de la portée globale stocke des informations sur la portée qui l'entoure "au moment de la définition". Fonctions requises en python pouvant définir des fonctions dans des fonctions
clojures.py
>>> def outer():
... x = 2
... def inner():
... print x
... return inner
>>> foo = outer() #retour de fonction interne
>>> foo()
2 #Rappelez-vous 2 pas dans le cadre de la fonction inne
Cela peut être utilisé pour générer des fonctions personnalisées qui acceptent des arguments fixes.
Ajouter une fonction à une fonction (en utilisant le mécanisme qui prend la fonction d'origine comme argument, ajoute la fonction et réaffecte la fonction arrangée à la fonction d'origine) Peut être abrégé en utilisant @
Charger la fonction de sortie de journal à l'aide du décodeur.py
def logger(func):
def inner(*args, **kwargs): #Créer une fonction avec des fonctions supplémentaires
print "Arguments were: %s, %s" % (args, kwargs)
return func(*args, **kwargs) #Toute fonction sous-jacente
return inner
#Ajouter un enregistreur à la fonction foo
@logger
def foo(x, y):
return x * y
#cette@logger def foo est foo=logger(foo)Syntaxe sucre
foo(2,3)
Arguments were: (2, 3), {}
6
La liste peut être générée comme suit. Créer une liste avec f (x) comme élément en utilisant x qui satisfait la condition P (x) parmi les éléments x contenus dans S Au fait, si peut être omis en option (le deuxième exemple est un générateur)
[f(x) for x in S if P(x)]
max(x*x for x in [1,5,3] if x<3)
Tips
# -*- coding: utf-8 -*-
>>> a = [2,3,4,3,4,4,4]
>>> b = [i for i,j in enumerate(a) if j == max(a)]
>>> b
[2, 4, 5, 6]
#Quand il y a un élément maximum
>>>a.index(max(a))
A = []
for i in range(0,M+1):
for j in range(0,N+1):
tmp = i+j
A.append(tmp)
A = array(A).reshape(M,N)
results_vector = np.linalg.solve(A_matrix,T_vector)
import matplotlib.pyplot as plt
plt.plot( [1,2,3], '-') #Ligne brisée
plt.plot( [1,2,3], '--') #Ligne brisée
plt.plot( [1,2,3], '-.') #Ligne brisée à point unique
plt.plot( [1,2,3], ':') #ligne pointillée
plt.plot( [1,2,3], '.') #point
plt.plot( [1,2,3], ',') #Point
plt.plot( [1,2,3], 'o') #Cercle
plt.plot( [1,2,3], 'v') #Triangle vers le bas
plt.plot( [1,2,3], '^') #Triangle vers le haut
plt.plot( [1,2,3], '<') #Triangle pointant vers la gauche
plt.plot( [1,2,3], '>') #Triangle pointant vers la droite
plt.plot( [1,2,3], 's') #carré
plt.plot( [1,2,3], 'p') #Pentagone
plt.plot( [1,2,3], 'h') #Hexagone(Verticale)
plt.plot( [1,2,3], 'H') #Hexagone(côté)
plt.plot( [1,2,3], '+') #traverser
plt.plot( [1,2,3], 'x') #X
plt.plot( [1,2,3], 'd') #diamant
plt.plot( [1,2,3], 'D') #carré(Diagonale)
plt.plot( [1,2,3], '|') #Ligne verticale
plt.plot( [1,2,3], '_') #ligne horizontale
#Technique de correspondance
plt.plot( [1,2,3], '-o') #Ligne brisée+Cercle
plt.plot( [1,2,3], '--o') #Ligne brisée+Cercle
plt.plot( [1,2,3], 'b') #Bleu
plt.plot( [1,2,3], 'g') #vert
plt.plot( [1,2,3], 'r') #rouge
plt.plot( [1,2,3], 'c') #cyan
plt.plot( [1,2,3], 'm') #Magenta
plt.plot( [1,2,3], 'y') #Jaune
plt.plot( [1,2,3], 'b') #noir
plt.plot( [1,2,3], 'w') #blanc
#Spécification simultanée avec la méthode de tracé
plt.plot( [1,2,3], '--b') #Ligne brisée+Bleu
plt.show() #dessin
plt.savefig("graph.png ") #sauvegarder
print type(obj) #Moule
print dir(obj) #liste de méthodes
Recommended Posts