"Zhonggu Education Python Video Tutorial" est un didacticiel d'introduction au développement Python. Il présentera les caractéristiques et le champ d'application du langage Python, les types de données de base de Python, les jugements et boucles conditionnels, les fonctions et les tranches et listes uniques de Python. .Expression générative. J'espère que ce didacticiel Python vous permettra de démarrer rapidement et d'écrire des programmes Python simples.
Adresse de lecture du cours : //m.sbmmt.com/course/501.html
Le style d'enseignement de l'enseignant :
Les cours de l'enseignant sont simples et approfondis, de structure claire, analysés couche par couche, imbriqués, rigoureux dans l'argumentation, rigoureux dans la structure et l'utilisation le pouvoir logique de la pensée pour attirer l'attention des élèves. Force, utiliser la raison pour contrôler le processus d'enseignement en classe. En écoutant les cours de l'enseignant, les étudiants acquièrent non seulement des connaissances, mais reçoivent également une formation à la réflexion, et sont également influencés et influencés par l'attitude académique rigoureuse de l'enseignant
Le point le plus difficile de cette vidéo est l'objet- orienté - classes et objets Maintenant :
Tout en Python est un objet. Les classes fournissent un mécanisme pour créer de nouveaux types d'objets. Dans ce tutoriel, nous ne parlerons pas des connaissances de base des classes et de la programmation orientée objet, mais nous concentrerons sur une meilleure compréhension de la programmation orientée objet Python. Supposons que nous utilisions des classes Python de nouveau style, qui héritent de la classe parent de l'objet.
Définir la classe
L'instruction de classe peut définir une série d'attributs, de variables et de méthodes, qui sont partagés par les objets d'instance de cette classe. Une définition de classe simple est donnée ci-dessous :
class Account(object): num_accounts = 0 def __init__(self, name, balance): self.name = name self.balance = balance Account.num_accounts += 1 def del_account(self): Account.num_accounts -= 1 def deposit(self, amt): self.balance = self.balance + amt def withdraw(self, amt): self.balance = self.balance - amt def inquiry(self): return self.balance
La définition de classe introduit les nouveaux objets suivants :
Class Object
Objet d'instance
Objet de méthode
Objet de classe
Lorsqu'une définition de classe est rencontrée lors de l'exécution du programme, un nouvel espace de noms sera créé. L'espace de noms contient toutes les variables de classe et les définitions de méthode Nom. obligatoire. Notez que cet espace de noms ne crée pas de nouvelle portée locale que les méthodes de classe peuvent utiliser, donc l'accès aux variables dans les méthodes nécessite des noms complets. La classe Account de la section précédente illustre cette fonctionnalité ; les méthodes qui tentent d'accéder à la variable num_of_accounts doivent utiliser le nom complet Account.num_of_accounts, sinon, si le nom complet n'est pas utilisé dans la méthode __init__, l'erreur suivante sera soulevé :
class Account(object): num_accounts = 0 def __init__(self, name, balance): self.name = name self.balance = balance num_accounts += 1 def del_account(self): Account.num_accounts -= 1 def deposit(self, amt): self.balance = self.balance + amt def withdraw(self, amt): self.balance = self.balance - amt def inquiry(self): return self.balance >>> acct = Account('obi', 10) Traceback (most recent call last): File "python", line 1, in <module> File "python", line 9, in __init__ UnboundLocalError: local variable 'num_accounts' referenced before assignment
A la fin de l'exécution de la définition de classe, un objet de classe sera créé. La portée qui était en vigueur avant la saisie de la définition de classe est désormais restaurée et l'objet de classe est lié au nom de classe dans l'en-tête de définition de classe.
Écartons-nous d'abord du sujet. Vous pouvez demander si la classe créée est un objet, quelle est la classe de l'objet ? . Conformément à la philosophie Python selon laquelle tout est objet, les objets de classe ont une classe, qui est la classe de type dans les nouvelles classes de style de Python.
>>> type(Account) <class 'type'>
Pour vous embrouiller un peu plus, le type de type de compte est type. La classe de types est une métaclasse utilisée pour créer d'autres classes, que nous présenterons plus tard dans le didacticiel.
Les objets de classe prennent en charge la référence d'attribut et l'instanciation. Les propriétés sont référencées via la syntaxe standard par points, c'est-à-dire l'objet suivi d'un point, puis du nom de la propriété : obj.name. Les noms de propriété valides sont tous les noms de variables et de méthodes qui apparaissent dans l'espace de noms de classe après la création de l'objet de classe. Par exemple :
>>> Account.num_accounts >>> 0 >>> Account.deposit >>> <unbound method Account.deposit>
L'instanciation de classe utilise la notation de fonction. L'instanciation appellera l'objet de classe sans paramètres comme une fonction normale, comme la classe Account ci-dessous :
>>> Account()
Une fois l'objet de classe instancié, l'objet d'instance sera renvoyé si la méthode __init__ est définie dans. la classe sera appelée, avec l'objet instance passé comme premier paramètre. Cette méthode effectuera un processus d'initialisation défini par l'utilisateur, tel que l'initialisation des variables d'instance. Pour la classe Account, par exemple, le nom du compte et le solde seront définis, et le nombre d'objets d'instance sera augmenté de 1.
Objet d'instance
Si l'objet de classe est un emporte-pièce, le cookie est le résultat de l'instanciation de l'objet de classe. Toutes les opérations valides sur les objets d'instance sont des références à des objets de propriété, de données et de méthode.
Objet méthode
L'objet méthode est similaire à l'objet fonction. Si x est une instance de la classe Account, x.deposit est un exemple d'objet méthode. Il existe un paramètre supplémentaire dans la définition de la méthode, self. self pointe vers l’instance de classe. Pourquoi devons-nous passer des instances en tant que paramètres aux méthodes ? Les appels de méthode peuvent mieux illustrer :
>>> x = Account() >>> x.inquiry() 10
Que se passe-t-il lorsqu'une méthode d'instance est appelée ? Vous devez noter que x.inquiry() est appelé sans paramètres, bien que la définition de la méthode contienne le paramètre self. Alors que se passe-t-il exactement avec ce paramètre ?
La particularité est que l'objet sur lequel agit la méthode est passé comme premier paramètre de la fonction. Dans notre exemple, un appel à x.inquiry() équivaut à Account.f(x). Généralement, appeler une méthode avec n paramètres équivaut à insérer l’objet action de la méthode à la première position du paramètre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!