J'espère pouvoir continuer à partager les bases de Python après la Partie 1! Si vous ne l'avez pas vu, commencez par la partie 1 ^^
・ Si déclaration ・ Pour déclaration ·une fonction · Gestion des exceptions ・ Déclaration de passe ·portée ·classe ·fermeture ·argument · À la fin
Il n'y a pas de syntaxe de cas de commutation Java, mais une implémentation similaire est possible en utilisant le mot-clé "in". "El if" est une abréviation pour "else if".
・ Si déclaration
val1 = 1
val2 = 2
if val1 == val2:
print('test1')
elif val1 > val2:
print('test2')
else:
print('test3') # test3
-Commutez l'écriture de type instruction en utilisant le mot-clé "in"
val3 = 3
if val3 == 1:
print('test1')
elif val3 in(2,3):
print('test2') # test2
elif val3 in(3,4):
print('test3')
else:
print('test4')
L'instruction for est équivalente à l'instruction Java foreach. Souvent utilisé en combinaison avec la fonction de plage.
・ Pour la fonction de déclaration et de plage
for i in range(3):
print(i) #Affichage par ordre de 0, 1, 2
・ Pour les instructions et les chaînes de caractères (des listes et des dictionnaires peuvent également être utilisés)
for c in 'test':
print(c) # t, e, s,Affiché dans l'ordre de t
Au fait. .. .. Python a une instruction while, mais aucune instruction do-while.
Utilisez "def" pour définir la fonction. * Tous les arguments sont passés par référence. ~~ Passez par valeur.
def fnc(a, b=1): #b est un argument avec une valeur par défaut
return a + b #Valeur de retour
#Appel de fonction
print(fnc(10)) # 11
-Lors de l'appel d'une fonction, il est possible d'ignorer l'ordre des définitions en spécifiant le nom de l'argument.
def fnc(a, b, c):
print(a, b, c)
#Appel de fonction
fnc(c=3, a=1, b=2)# 1 2 3
■ Différences entre les fonctions et les méthodes Vous pouvez y voir presque la même chose!
** Fonctions **: celles qui ne sont pas liées à une classe particulière. Ce qui est défini par def dans le module. Ce qui est défini dans def avant instanciation dans la classe est une fonction. Comment écrire: Fonction (argument)
** Méthode **: Dédiée à une classe particulière (ou à une instance de cette classe). ~~ Ce qui est défini par def dans la classe. ~~ Une fois la classe instanciée, la fonction devient une méthode. Comment écrire: Value. Méthode (argument)
Par exemple, len ("chaîne de caractères") est une fonction pour obtenir la longueur de "chaîne de caractères", mais "chaîne de caractères" .split () est une méthode (object.function) qui divise les caractères par des caractères vides. .. Fondamentalement, dans le cas d'une méthode, il existe de nombreux processus spécifiques à cet objet. Par exemple, "string" .split ou "string" .startswith. Ceci est spécifique à une chaîne. Mais len peut être utilisé pour les chaînes et les listes. len ("chaîne") len ([0, 1, 2]). Dans ces cas, Python fournit une fonction.
· Quelle est la différence entre une fonction Python (objet) et une fonction objet ()? http://blog.pyq.jp/entry/2017/09/14/100000
■ Type immuable ・ Types numériques tels que int, float et complex -Type de chaîne (chaîne) ・ Type de tuple ・ Octets ・ Type d'ensemble congelé
■ Type mutable ・ Type de liste (liste) -Bytearray ・ Définir le type ・ Type de dictionnaire (dictionnaire)
Traitez avec la syntaxe "essayez ~ sauf ~ sinon ~ enfin". "except" est une instruction catch en Java. "L'instruction à exécuter lorsqu'une exception se produit, else décrit le processus non complété par except.
try:
x = 10 / 0
except Exception as e:
print(e) # division by zero
#Que faire si aucune exception ne se produit
else:
print('test1')
#Traitement qui s'exécute toujours indépendamment du fait qu'une exception se produise
finally:
print('test2')# test2
-Utilisez "lever" pour déclencher explicitement une exception. (Lancer une déclaration en Java)
try:
raise Exception('test3')
except Exception as e:
print(e) # test3
Syntaxe pour spécifier "ne rien faire". Pas en Java.
Par exemple, il est utilisé dans les cas suivants. -Ne rien faire lors du branchement conditionnel ・ Ne rien faire lorsqu'une exception se produit -La mise en œuvre des fonctions et des classes n'est pas claire
#Sortie seulement même
for i in range(10):
if(i % 2) == 0:
print(i)
else:
pass
Il existe quatre types d'étendues comme suit. L'acronyme s'appelle LEGB.
① Portée locale → Uniquement dans la fonction. Vous pouvez faire référence à la portée intégrée et aux variables et aux fonctions de portée du module à partir de la portée locale, mais vous ne pouvez pas affecter (écraser) des valeurs aux variables.
② Portée (de la fonction) englobante → La portée est la première portée à connaître lorsque la fonction est définie dans la fonction, en bref, la portée locale en dehors de la fonction.
③ Portée mondiale → L'ensemble du module (fichier entier).
④ Portée intégrée → Peut être référencé de n'importe où dans le cadre des variables intégrées (Aucune) et des fonctions intégrées (fonction d'impression).
Pour plus de détails sur la portée, je me suis référé à cet article. Les détails sont décrits, alors jetez un œil si vous avez le temps.
Le constructeur (méthode d'initialisation) doit être "\ _ \ _ init \ _ \ _" ou "__new \ ___", et ~~ doit définir "self" dans le premier argument. Il est courant d'utiliser ~~ self, et vous pouvez utiliser n'importe quel nom comme celui-ci. self est un objet qui représente une instance de ~~ lui-même. ~~ Nom de l'argument pour recevoir l'instance
Name.class
class Name:
#Variable de classe
LANG = 'JP'
#constructeur
def __init__(self):
self.name = ''
# getter
def getName(self):
return self.name
# setter
def setName(self, name):
self.name = name
taro = Name()
taro.setName('Ichiro')
print(taro.getName()) #Ichiro
print(Member.LANG) # JP
Une fonction qui référence une variable locale de la fonction. Vous pouvez continuer à faire référence aux variables locales même une fois l'appel de fonction terminé. Presque équivalent à la fermeture Javascript.
Pour plus d'informations sur les fermetures, consultez cet article.
Il existe quatre types d'arguments comme suit.
① Argument normal
② Argument avec valeur par défaut → Un argument qui définit une valeur par défaut à adopter en cas d'omission lors de l'appel d'une fonction.
#② Argument avec valeur par défaut
def fnc(a, b = 1):
return a + b #Valeur de retour
③ Argument de longueur variable → Un argument qui reçoit une ou plusieurs valeurs. Si vous ajoutez un astérisque (*) avant le nom de l'argument, il devient cet argument. Du côté de la fonction, l'argument de longueur variable reçu est traité comme un taple.
#③ Argument de longueur variable
def fnc(a, b, *args):
print(a, b, args)
fnc('a','b','c','d','e') # a b ('c','d','e')
④ Argument de longueur variable avec mot-clé → Argument de longueur variable qui nécessite des mots-clés lors de la spécification de l'argument. Si vous ajoutez deux astérisques (*) avant le nom de l'argument, il devient cet argument. Côté fonction, l'argument de longueur variable reçu est traité comme des données de type dictionnaire avec le nom donné au moment de la définition.
#④ Argument de longueur variable avec mot-clé
def fnc(a, b, **args):
print(a, b, args)
fnc('a','b',arg1 = 'c',arg2 = 'd',arg3 = 'e')# a b {'arg1': 'c', 'arg3': 'e', 'arg2': 'd'}
#fnc('a','b','c','d','e')← Une erreur se produit si aucun mot clé n'est spécifié.
Les parties 1 et 2 ont couvert les bases générales de Python. Python possède une multitude de frameworks Web et de bibliothèques d'apprentissage automatique, donc si vous le combinez avec cette base, pouvez-vous faire ce que vous voulez? !! Je souhaite créer une API Web en utilisant Python à partir de maintenant: elevé_hand:
· Quelle est la différence entre une fonction Python (objet) et une fonction objet ()? http://blog.pyq.jp/entry/2017/09/14/100000
・ À propos de la portée de Python http://note.crohaco.net/2017/python-scope/
・ [Python] Qu'est-ce qu'une fermeture (fermeture de fonction)? https://qiita.com/naomi7325/items/57d141f2e56d644bdf5f
-Passer par valeur et passer par référence en Python https://crimnut.hateblo.jp/entry/2018/09/05/070000
・ AmadaShirou.Programing Keikensya No Tameno Python Saisoku Nyumon (Japanese Edition) Kindle Edition
Recommended Posts