Introduction au langage Python

Installation

Il existe un programme d'installation sur https://www.python.org/downloads/, alors utilisez-le pour l'installer. Actuellement (2015/11/15), le dernier est Python 3.5.

Si vous êtes dans un environnement Windows, définissez la variable d'environnement. Cette zone peut être utile. http://www.pythonweb.jp/install/setup/index1.html

À propos de Python

Exécuter Python

$ python
Python 3.5.0 (default, Nov 15 2015, 16:08:58)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.72)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Comment écrire et exécuter un script

Ecrire et exécuter pour le moment

écrire...

test.py


#! /usr/bin/env python
# -*- coding: utf-8 -*-

def main():
    print('GOGO')

if __name__ == '__main__':
    main()

Courir ...

test.py


$ python test.py
GOGO

Commentaire ligne par ligne

test.py


#! /usr/bin/env python

C'est Shebang. (Unix promet (lisez ceci si vous êtes intéressé car ce n'est pas dans le contexte de Python http://cpplover.blogspot.jp/2013/08/shebang.html))

test.py


# -*- coding: utf-8 -*-

Spécification du code de caractère. (Sans cela, il y a des cas où vous mourez en écrivant des commentaires japonais)

test.py


def main():

Définition de la fonction.

test.py


    print('GOGO')

Appelez la fonction d'impression, qui est l'une des fonctions intégrées. «GOGO» passe une chaîne comme argument.

test.py


if __name__ == '__main__':

Si vous exécutez le fichier en tant que script, la variable «name» contient la chaîne «main». Par conséquent, lorsqu'elle est exécutée en tant que script, cette condition devient True, et le bloc dans celui-ci est un point d'entrée pratique. S'il est importé avec une instruction d'importation, ce bloc ne sera pas exécuté car «name» contient le nom du module.

test.py


    main()

C'est un appel de fonction.

Types principaux

type () -Examinez le type

Vous pouvez vérifier le type d'objet avec le type de fonction intégré ().

>>> type(1)
<class 'int'>
>>> type('1')
<class 'str'>
>>> type([1, 2, 3])
<class 'list'>
>>> type({'first': 1, 'second': 2})
<class 'dict'>

int --integer

C'est un entier.

>>> 3 + 2  #une addition
5
>>> 3 - 2  #soustraction
1
>>> 3 * 2  #multiplication
6
>>> 3 / 2  #division(Notez que le comportement est différent entre Python 2 et Python 3.)
1.5
>>> 3 // 2  #division(Tronquer quelques-uns)
1
>>> 3 % 2  #Surplus
1
>>> 3 ** 2  #Équitation
9

str - chaîne

>>> 'Hello World  '.strip()  #Caractères vierges avant et après/Effacer le caractère de saut de ligne
'Hello World'
>>> 'Hello World  '.split()  #Divisé
['Hello', 'World']
>>> 'Hello World  '.lstrip('H')  #Effacer la lettre H gauche
'ello World  '
>>> 'Hello' + 'World'  #Joindre
'HelloWorld'
>>> '{0} {1}'.format('Hello', 'World')  #Format de chaîne
'Hello World'
>>> '{word1} {word2}'.format(word1='Hello', word2='World')  #Format de chaîne de caractères partie 2
'Hello World'

liste - liste

>>> [1, 2, 3]  #Créer une liste
[1, 2, 3]
>>> [1, 2, 3] + [4, 5, 6]  #Joindre
[1, 2, 3, 4, 5, 6]
>>> 1 in [1, 2, 3]  #Vérifiez si inclus(Étui inclus)                                                                                                                                                     
True
>>> 5 in [1, 2, 3]  #Vérifiez si inclus(Boîtier non inclus)                                                                                                                                                                       
False

ajouter à

>>> nums = [1, 2, 3]
>>> nums
[1, 2, 3]
>>> nums.append(4)
>>> nums
[1, 2, 3, 4]

Suppression

>>> nums = [1, 2, 3, 1]
>>> nums.remove(1)

dict --diction

dict est une structure de données avec des paires nom / valeur.

À titre d'exemple, définissons un dict qui a une paire de noms de fruits et de quantités.

>>> fruits = {
... 'apple': 100,
... 'orange': 50,
... }
>>> 

Ce fruits contient la paire de valeurs suivante:

key value
'apple' 100
'orange' 50

Si vous voulez obtenir la valeur de «'apple», spécifiez la clé entre [].

>>> fruits['apple']
100
>>> fruits['orange']
50

Si vous spécifiez une clé qui n'existe pas, une exception KeyError sera levée.

>>> fruits['grape']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'grape'
>>>

Un peu d'application

Calculons la quantité de fruits en utilisant les «fruits» précédents. 'apple' vaut 1 Dans ce cas:

>>> fruits['apple'] * 1
100

'apple' vaut 2 Dans ce cas:

>>> fruits['apple'] * 2
200

Vous pouvez également spécifier des variables dans les parties `` pomme '' et 2. Si vous définissez une variable appelée nom et mettez-y "pomme" pour calculer, ce sera comme suit.

>>> name = 'apple'
>>> fruits[name] * 2
200

Mettons la partie numérique dans une variable appelée count.

>>> count = 2
>>> fruits[name] * count
200

Vous pouvez calculer sans changer le code de la pièce à calculer en modifiant la valeur du nom et du nombre.

>>> name = 'orange'
>>> fruits[name] * count
100
>>> count = 20
>>> fruits[name] * count
1000

Le code de la pièce à calculer peut être utilisé sans changer le code. Définissons cela comme une fonction pour faciliter la réutilisation.

>>> fruits = {
... 'apple': 100,
... 'orange': 50,
... }
>>>
>>> def calc_fruit_amount(name, count):
...   return fruits[name] * count
...
>>>

La fonction calc_fruit_amount () calcule le montant total en spécifiant le nom et le nombre de fruits.

>>> calc_fruit_amount('apple', 2)
200
>>> calc_fruit_amount('apple', 3)
300
>>> calc_fruit_amount('orange', 3)
150
>>>

Vous pouvez voir que le montant correct a été calculé.

Syntaxe de contrôle

if

Exécute le bloc à l'intérieur si lorsque la condition suivante if est vraie. Le compagnon if est if / elif / else.

fruits.py


fruits = {
    'apple': 100,
    'orange': 50,
    }

def calc_fruit_amount(name, count):
    return fruits[name] * count


def decide_amount(name, count, threshold=1000):
     amount = calc_fruit_amount(name, count)
     if amount > threshold:
           print('haute')
     elif amount == threshold:
           print('d'habitude')
     else:  # < threshold
           print('pas cher')

decide_amount () détermine si le montant total est supérieur, égal ou inférieur au seuil et imprime respectivement haut / normal / bon marché.

for in

Il effectue une boucle en tirant les éléments un par un d'un objet répétable tel qu'une liste. Quittez lorsque l'élément est terminé.

fruits_list.py



fruits = {
    'apple': 100,
    'orange': 50,
    }

for name in ['apple', 'orange']:
    print('{} {}Cercle'.format(name, fruits[name]))

Affiche le nom et la quantité de fruits. Le code suivant se comporte de la même manière.

fruits_list2.py



fruits = {
    'apple': 100,
    'orange': 50,
    }

for name, amount in fruits.items():
    print('{} {}Cercle'.format(name, amount))

try

Une exception est levée si l'opération que vous essayez d'effectuer n'est pas autorisée. Par exemple, si vous essayez d'obtenir une valeur avec un nom qui n'existe pas à partir de fruits, vous obtiendrez une exception appelée KeyError.

>>> fruits['ham']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'ham'
>>>

Si une exception se produit pendant l'exécution du script, le processus s'arrêtera anormalement là. En gérant correctement l'exception qui se produit, vous pouvez continuer le traitement sans interruption anormale.

Dans l'exemple suivant, si calc_fruit_amount reçoit un nom qui n'existe pas dans fruits, un message d'erreur s'affiche.

fruits = {
    'apple': 100,
    'orange': 50,
    }

def calc_fruit_amount(name, count):
    try:
        return fruits[name] * count
    except:
        print('{}N'existe pas'.format(name))

fizzbuzz

Qu'est-ce que fizzbuzz

C'est une pièce de théâtre. (Citation: https://ja.wikipedia.org/wiki/Fizz_Buzz)

C'est un sujet souvent utilisé comme exercice de programmation.

Exemple d'implémentation de fizzbuzz


for ii in range(1,101):
    if ii % 15 == 0:
       print('FizzBuzz')
    elif ii % 5 == 0:
       print('Buzz')
    elif ii % 3 == 0:
       print('Fizz')
    else:
       print(ii)

Module standard

Vous pouvez utiliser le module standard à l'aide de l'instruction import.

>>> import re

--re expression régulière --sys Obtention et fonctionnement des informations sur le Python en cours d'exécution, etc. --os Acquisition et fonctionnement des informations d'environnement telles que le système d'exploitation en cours d'exécution

Il y en a beaucoup d'autres. http://docs.python.jp/3.5/library/index.html

Utilisez un package tiers

La bibliothèque standard de Python est très riche, mais lors de l'écriture d'un programme légèrement compliqué ou de la création d'un système, c'est une tâche très difficile à créer en utilisant uniquement la bibliothèque standard. Certains utilisateurs de Python publient leurs propres packages sur Internet. Ils sont appelés packages tiers. Par exemple, Django, un framework d'application Web, et pandas, qui est souvent utilisé pour l'analyse des données, sont des packages tiers.

Les packages tiers peuvent être installés à l'aide de la commande pip. Ici, nous allons installer la bibliothèque HTTP.

$ sudo pip install requests

Démarrez Python et importez les requêtes.

>>> import requests
>>>

Si vous voyez la marque d'invite du shell interactif Python (>>>), vous avez réussi. En cas d'échec, une erreur d'importation s'affichera.

Essayez d'envoyer une requête GET via HTTP à example.com.

>>> requests.get('http://example.com/')
<Response [200]>

Si vous n'avez plus besoin de demandes, vous pouvez les désinstaller avec pip uninstall. (y / n) attend l'entrée, alors entrez y et appuyez sur la touche Entrée.

Remarque) Dans de nombreux cas, sudo est requis en raison de problèmes d'autorisation.

$ sudo pip uninstall requests
~ abrégé ~
Proceed (y/n)? y [ENTER]
  Successfully uninstalled requests-2.7.0
$

les demandes ont été désinstallées.

Si vous enregistrez la bibliothèque tierce avec pypi, vous pouvez pip installer avec juste le nom du package. La plupart des bibliothèques couramment utilisées sont enregistrées dans pypi.

Environnement virtuel (venv)

Si vous poursuivez avec plusieurs projets différents, vous souhaiterez utiliser le même package avec différentes versions. Par exemple, si vous souhaitez utiliser les requêtes-2.6 pour le projet A et les requêtes-2.7 pour le projet X. Dans ce cas, si vous l'installez comme auparavant, vous ne pouvez utiliser que l'une ou l'autre des versions des requêtes. Python utilise venv pour résoudre de tels problèmes. Chaque venv peut créer un environnement Python indépendant individuellement. Placez la version du package tiers que vous souhaitez utiliser dans chacun des environnements créés et utilisez-la. La gestion de l'environnement diffère entre OSX / Linux et Windows.

Pour OS X / Linux

Créez un environnement venv.

$ pyvenv-3.5 env

Entrez dans l'environnement venv. (Chargez le script d'activation avec la commande source) En cas de succès, la marque d'invite changera.

$ source env/bin/activate 
(env) $

Installez les demandes à titre d'exemple.

(env) $ pip install requests

Vous pouvez importer les demandes installées.

>>> import requests
>>>

Exécutez désactiver pour sortir de l'environnement. En cas de succès, la marque d'invite sera restaurée.

(env) $ deactivate
$ 

Les demandes ne peuvent pas être importées car elles proviennent de l'environnement virtuel.

>>> import requests
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'requests'

Pour les fenêtres

Créez un environnement venv.

c:\Temp>c:\Python35\python -m venv env

Entrez dans l'environnement venv. (Exécutez activate.bat) En cas de succès, la marque d'invite changera.

c:\Temp>env\Scripts\activate
(env) c:\Temp>

Installez les demandes à titre d'exemple.

(env) c:\Temp>pip install requests

Vous pouvez importer les demandes installées.

>>> import requests
>>>

Exécutez désactiver pour sortir de l'environnement. En cas de succès, la marque d'invite sera restaurée.

(env) c:\Temp>deactivate
c:\Temp>

Les demandes ne peuvent pas être importées car elles proviennent de l'environnement virtuel.

>>> import requests
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'requests'

Et si l'environnement virtuel n'est plus nécessaire?

Supprimez tout le répertoire lorsque vous n'avez plus besoin de l'environnement. Il n'y a pas de problème car l'environnement Python à partir duquel l'environnement virtuel a été créé ne disparaît pas. Bien sûr, vous pouvez recréer l'environnement virtuel.

OS X / Linux

$ rm -rf env

Windows

c:\Temp> rd /q /s env

Remarque) Si le code source etc. est placé sous env, il disparaîtra également. S'il vous plaît soyez prudente.

Recommended Posts

Introduction au langage Python
Introduction à Protobuf-c (langage C ⇔ Python)
Introduction à OpenCV (python) - (2)
Introduction à Python Django (2) Win
Introduction à la communication série [Python]
[Introduction à Python] <liste> [modifier le 22/02/2020]
Introduction à Python (version Python APG4b)
Une introduction à la programmation Python
Introduction à Python pour, pendant
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 4] Introduction à Python avec 100 coups de traitement du langage
[Présentation de l'application Udemy Python3 +] 58. Lambda
[Présentation de l'application Udemy Python3 +] 31. Commentaire
Introduction à la bibliothèque de calcul numérique Python NumPy
Entraine toi! !! Introduction au type Python (conseils de type)
[Introduction à Python3 Jour 1] Programmation et Python
[Introduction à Python] <numpy ndarray> [modifier le 22/02/2020]
[Présentation de l'application Udemy Python3 +] 57. Décorateur
Introduction à Python Hands On Partie 1
[Introduction à Python3 Jour 13] Chapitre 7 Chaînes de caractères (7.1-7.1.1.1)
[Introduction à Python] Comment analyser JSON
[Présentation de l'application Udemy Python3 +] 56. Clôture
[Introduction à Python3 Jour 14] Chapitre 7 Chaînes de caractères (7.1.1.1 à 7.1.1.4)
[Présentation de l'application Udemy Python3 +] 59. Générateur
[Introduction à Python3 Jour 15] Chapitre 7 Chaînes de caractères (7.1.2-7.1.2.2)
[Introduction à Python] Utilisons les pandas
Python pour passer d'une autre langue
[Introduction à Python] Utilisons les pandas
[Introduction à l'application Udemy Python3 +] Résumé
Introduction à l'analyse d'image opencv python
[Introduction à Python] Utilisons les pandas
Premiers pas avec Python pour les non-ingénieurs
Introduction à Python Django (2) Édition Mac
[AWS SAM] Présentation de la version Python
[Introduction à Python3 Day 21] Chapitre 10 Système (10.1 à 10.5)
[Tutoriel Python] Une introduction facile à Python
Introduction à Scrapy (1)
Introduction à Scrapy (3)
Mis à jour vers Python 2.7.9
Premiers pas avec Supervisor
Introduction à Tkinter 1: Introduction
Introduction à PyQt
Introduction à Scrapy (2)
[Linux] Introduction à Linux
Introduction à Scrapy (4)
Introduction à discord.py (2)
"Backport" vers python 2
Introduction de Python
[Introduction à Udemy Python3 + Application] 18. Méthode List
[Introduction à Udemy Python3 + Application] 63. Notation d'inclusion du générateur
[Introduction à Python] Comment utiliser la classe en Python?
[Introduction à Udemy Python3 + Application] 25. Méthode de type dictionnaire
[Introduction à l'application Udemy Python3 +] 33. instruction if
Introduction à la simulation d'événements discrets à l'aide de Python # 1
[Introduction à Udemy Python3 + Application] 13. Méthode de caractères
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
[Introduction à l'application Udemy Python3 +] 55. Fonctions intégrées