Maison > développement back-end > Tutoriel Python > Explication des points de connaissance de base de Python

Explication des points de connaissance de base de Python

巴扎黑
Libérer: 2017-06-23 11:10:02
original
2111 Les gens l'ont consulté

Section 16 MySQLdb

  • Installation Win64 bits python-mysqldb1.2.5

  • Installation de MySQLdb sous Ubuntu

    sudo apt-get install python-MySQLdb
    Copier après la connexion
  • Importer la bibliothèque MySQLdb

    import MySQLdb
    Copier après la connexion
  • Créer une connexion à la base de données

    conn = MySQLdb.connect(host="localhost",user="root",passwd="123456",db="test",charset="utf8")
    Copier après la connexion
  • Connecter les propriétés de l'objet

    • commit() : Si la table de la base de données est modifiée, soumettez-la pour enregistrer les données actuelles. Bien sûr, si cet utilisateur n'a pas l'autorisation et se contente de le faire, rien ne se passera.

    • rollback() : Si vous avez l'autorisation, annulez l'opération en cours, sinon une erreur sera signalée.

    • cursor([cursorclass]) : Pointeur du curseur.

  • Créer un curseur (pointeur) curseur

    cur = conn.cursor()
    Copier après la connexion
  • méthode de curseur pour exécuter des commandes :

    • execute(query, args) : Exécutez une seule instruction SQL. query est l'instruction SQL elle-même et args est la liste des valeurs des paramètres. La valeur de retour après exécution est le nombre de lignes affectées.

    • executemany(query, args) : Exécutez une seule instruction SQL, mais exécutez à plusieurs reprises les paramètres de la liste de paramètres, et la valeur de retour est le nombre de lignes affectées

  • Insérer un enregistrement dans la table de données

    cur.execute("insert into users (username,password,email) values (%s,%s,%s)",("python","123456","python@gmail.com"))
    Copier après la connexion
  • Insérer plusieurs enregistrements dans la table de données

    cur.executemany("insert into users (username,password,email) values (%s,%s,%s)",(("google","111222","g@gmail.com"),("facebook","222333","f@face.book"),("github","333444","git@hub.com"),("docker","444555","doc@ker.com")))
    Copier après la connexion
  • Soumettre à la base de données Opération

    conn.commit()
    Copier après la connexion
  • Requête des données

    cur.execute("select * from users")
    Copier après la connexion
    • fetchall(self) : Recevoir toutes les lignes de résultats renvoyées .

    • fetchmany(size=None) : reçoit les lignes de taille et renvoie les lignes de résultat. Si la valeur de la taille est supérieure au nombre de lignes de résultat renvoyées, les données de curseur.arraysize seront renvoyées. >

    •  : Renvoie une ligne de résultat fetchone()

    •  : Déplace le pointeur vers une certaine ligne. cela signifie déplacer la barre de valeur de la ligne actuelle, si mode='absolute', cela signifie déplacer la barre de valeur de la première ligne de l'ensemble de résultats.scroll(value, mode='relative')

      cur.execute("select * from users")
      lines = cur.fetchall()
      for line in lines:
          print line
      
      cur.execute("select * from users where id=1")
      line_first = cur.fetchone()     #只返回一条
      print line_first
      
      cur.execute("select * from users")
      print cur.fetchall()
      Copier après la connexion
    • La méthode de l'objet curseur pour obtenir des données

  • Opération du curseur

    • ou cur.scroll(n) : signifie monter ou vers le bas par rapport à la position actuelle, n est un nombre positif, signifie vers le bas (en avant), n est un nombre négatif, signifie vers le haut (en arrière) cur.scroll(n,"relative")

    • Il existe également un moyen d'atteindre " mouvement "absolu", pas "relatif": ajoutez un paramètre "absolu"

      cur.scroll(1)
      cur.scroll(-2)
      cur.scroll(2,"absolute")    #回到序号是2,但指向第三条
      Copier après la connexion
  • Mettre à jour les données

    cur.execute("update users set username=%s where id=2",("mypython"))
    conn.commit()
    Copier après la connexion
  • Spécifier la base de données

    conn = MySQLdb.connect("localhost","root","123456",port=3306,charset="utf8")    #创建数据库时不指定那个数据库
    conn.select_db("test")      #连接创建后再指定
    Copier après la connexion
  • Fermer la base de données

    cur.close()     #先关闭游标
    conn.close()    #再关闭数据库
    Copier après la connexion


Section 17 Orienté objet

Classes et objets

  • Programmation orientée processus et orientée objet

    • Programmation orientée processus : fonctionnelle programmation, programmes C, etc.

    • Programmation orientée objet : C++, Java, Python, etc.

  • Classes et objets : sont deux concepts importants en

    orienté objet
    • Classe : est une abstraction de choses, telles que : modèle de voiture

    • Objet : est une instance d'une classe, telle que : QQ voiture, bus

  • Exemple de description

    • Le modèle de voiture peut faire abstraction des caractéristiques et du comportement de la voiture, puis instancier une véritable entité automobile.

Définition de la classe Python

  • Définition de classe Python

    • Utilisez le mot-clé class pour définir une classe, et la première lettre du nom de la classe doit être en majuscule

    • Les programmeurs doivent créer une classe lorsque le type qu'ils doivent créer ne peut pas être représenté par un type simple

    • Une classe combine les variables et fonctions requises. Cette inclusion est également appelée "encapsulation"<.>

    La structure d'une classe Python
  • class 类名:
        成员变量
        成员函数
    
    class MyClass():
        first = 123
        def fun(self):
            print "I am function"
    Copier après la connexion
  • Création d'objets
    • Les poignées sont utilisées pour distinguer différents objets
    • Les propriétés et méthodes de l'objet correspondent aux variables membres et aux fonctions membres de la classe
    • if __name__ == "__main__":
          myClass = MyClass()     #创建类的一个实例
      Copier après la connexion
    • Le processus de création d'un objet est appelé instanciation ; lorsqu'un objet est créé, il contient trois caractéristiques d'aspects : les descripteurs d'objet, les propriétés et les méthodes.
    Constructeur __init__
  • class Person:
        def __init__(self, name, lang, website):
            self.name = name
            self.lang = lang
            self.website = website
    Copier après la connexion
  • self est un paramètre très magique
    • self pointe vers une instance de la classe. Lorsque l'instance appelle une méthode, self pointe vers l'instance de la méthode appelée
    Sous-classe, classe parent et héritage
  • self pointe vers une instance de la classe. 🎜>

    # 抽象形状类
    class Shape:
        # 类的属性
        edge = 0
        # 构造函数
        def __init__(self, edge):
            self.edge = edge
        # 类的方法
        def getEdge(self):
            return self.edge
        # 抽象方法  
        def getArea(self):
            pass
    
    #三角形类,继承抽象形状类
    class Triangle(Shape):
        width = 0
        height = 0
        # 构造函数
        def __init__(self, width, height):
            #调用父类构造函数
            Shape.__init__(self, 3)
            self.width = width
            self.height = height
        #重写方法
        def getArea(self):
            return self.width * self.height / 2
    
    #四边形类,继承抽象形状类       
    class Rectangle(Shape):
        width = 0
        height = 0
        # 构造函数
        def __init__(self, width, height):
            #调用父类构造函数
            Shape.__init__(self, 4)
            self.width = width
            self.height = height
        #重写方法
        def getArea(self):
            return self.width * self.height
    
    triangle = Triangle(4,5);
    print triangle.getEdge()
    print triangle.getArea()
    
    rectangle = Rectangle(4,5);
    print rectangle.getEdge()
    print rectangle.getArea()
    Copier après la connexion
  • Python prend en charge l'héritage multiple, mais son utilisation n'est pas recommandée

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal