Heim  >  Artikel  >  Backend-Entwicklung  >  Erläuterung der grundlegenden Python-Wissenspunkte

Erläuterung der grundlegenden Python-Wissenspunkte

巴扎黑
巴扎黑Original
2017-06-23 11:10:022062Durchsuche

Abschnitt 16 MySQLdb

  • Win64-Bit-Installation python-mysqldb1.2.5

  • Installieren von MySQLdb unter Ubuntu

    sudo apt-get install python-MySQLdb
  • MySQLdb-Bibliothek importieren

    import MySQLdb
  • Datenbankverbindung erstellen

    conn = MySQLdb.connect(host="localhost",user="root",passwd="123456",db="test",charset="utf8")
  • Objekteigenschaften verbinden

    • commit(): Wenn die Datenbanktabelle geändert wird, senden Sie sie ab, um die aktuellen Daten zu speichern. Wenn dieser Benutzer keine Berechtigung hat und es einfach tut, passiert natürlich nichts.

    • rollback(): Wenn Sie berechtigt sind, brechen Sie den aktuellen Vorgang ab, andernfalls wird ein Fehler gemeldet.

    • cursor([cursorclass]): Cursorzeiger.

  • Cursor (Zeiger) erstellen

    cur = conn.cursor()
  • Cursor-Methode zum Ausführen von Befehlen:

    • execute(query, args): Führen Sie eine einzelne SQL-Anweisung aus. query ist die SQL-Anweisung selbst und args ist die Liste der Parameterwerte. Der Rückgabewert nach der Ausführung ist die Anzahl der betroffenen Zeilen.

    • executemany(query, args): Führen Sie eine einzelne SQL-Anweisung aus, aber führen Sie die Parameter in der Parameterliste wiederholt aus. Der Rückgabewert ist die Anzahl der betroffenen Zeilen

  • Einen Datensatz in die Datentabelle einfügen

    cur.execute("insert into users (username,password,email) values (%s,%s,%s)",("python","123456","python@gmail.com"))
  • Mehrere Datensätze in die Datentabelle einfügen

    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")))
  • An die Datenbank senden Operation

    conn.commit()
  • Daten abfragen

    cur.execute("select * from users")
    • fetchall(self): Alle zurückgegebenen Ergebniszeilen empfangen .

    • fetchmany(size=None): Größenzeilen empfangen und Ergebniszeilen zurückgeben. Wenn der Wert der Größe größer ist als die Anzahl der zurückgegebenen Ergebniszeilen, werden die Daten „cursor.arraysize“ zurückgegeben >

    • : Gibt eine Ergebniszeile zurück fetchone()

    • : Bewegt den Zeiger auf eine bestimmte Zeile. Dies bedeutet, dass der Wertebalken aus der aktuellen Zeile verschoben wird. Wenn mode='absolute', bedeutet dies, dass der Wertebalken aus der ersten Zeile des Ergebnissatzes verschoben wird.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()
    • Die Methode des Cursorobjekts, um Daten zu erhalten

  • Cursoroperation

    • oder cur.scroll(n): bedeutet, nach oben zu bewegen oder nach unten relativ zur aktuellen Position, n ist eine positive Zahl, bedeutet nach unten (vorwärts), n ist eine negative Zahl, bedeutet nach oben (rückwärts) cur.scroll(n,"relative")

    • Es gibt auch einen Weg, dies zu erreichen „ absolute“ Bewegung, nicht „relative“ Bewegung: Fügen Sie einen Parameter „absolut“ hinzu

      cur.scroll(1)
      cur.scroll(-2)
      cur.scroll(2,"absolute")    #回到序号是2,但指向第三条
  • Daten aktualisieren

    cur.execute("update users set username=%s where id=2",("mypython"))
    conn.commit()
  • Datenbank angeben

    conn = MySQLdb.connect("localhost","root","123456",port=3306,charset="utf8")    #创建数据库时不指定那个数据库
    conn.select_db("test")      #连接创建后再指定
  • Datenbank schließen

    cur.close()     #先关闭游标
    conn.close()    #再关闭数据库


Abschnitt 17 Objektorientiert

Klassen und Objekte

  • Prozessorientierte und objektorientierte Programmierung

    • Prozessorientierte Programmierung: funktional Programmierung, C-Programme usw.

    • Objektorientierte Programmierung: C++, Java, Python usw.

  • Klassen und Objekte : sind zwei wichtige Konzepte in der objektorientierten

    • Klasse: ist eine Abstraktion von Dingen, wie zum Beispiel: Automodell

    • Objekt : ist eine Instanz einer Klasse, wie zum Beispiel: QQ Auto, Bus

  • Beispielbeschreibung

    • Das Automodell kann die Eigenschaften und das Verhalten des Autos abstrahieren und dann eine reale Auto-Entität instanziieren

Python-Klassendefinition

  • Python-Klassendefinition

    • Verwenden Sie das Schlüsselwort class, um eine Klasse zu definieren, und der erste Buchstabe des Klassennamens sollte großgeschrieben werden

    • Programmierer müssen eine Klasse erstellen, wenn der Typ, den sie erstellen müssen, nicht durch einen einfachen Typ dargestellt werden kann

    • Eine Klasse kombiniert die erforderlichen Variablen und Funktionen. Diese Einbindung wird auch „Kapselung“ genannt 🎜>

    Die Struktur einer Python-Klasse
  • class 类名:
        成员变量
        成员函数
    
    class MyClass():
        first = 123
        def fun(self):
            print "I am function"
  • Erstellung von Objekten
    • Handles werden verwendet, um verschiedene Objekte zu unterscheiden
    • Die Eigenschaften und Methoden des Objekts entsprechen den Mitgliedsvariablen und Mitgliedsfunktionen in der Klasse
    • if __name__ == "__main__":
          myClass = MyClass()     #创建类的一个实例
    • Der Prozess des Erstellens eines Objekts wird als Instanziierung bezeichnet. Wenn ein Objekt erstellt wird, enthält es drei Aspekte von Merkmalen: Objekthandles, Eigenschaften und Methoden.
    Konstruktor __init__
  • class Person:
        def __init__(self, name, lang, website):
            self.name = name
            self.lang = lang
            self.website = website
  • Selbst ist ein sehr magischer Parameter
    • self zeigt auf eine Instanz der Klasse. Wenn die Instanz eine Methode aufruft, zeigt self auf die Instanz der aufgerufenen Methode
    Unterklasse, übergeordnete Klasse und Vererbung
  • # 抽象形状类
    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()
  • Python unterstützt Mehrfachvererbung, seine Verwendung wird jedoch nicht empfohlen

Das obige ist der detaillierte Inhalt vonErläuterung der grundlegenden Python-Wissenspunkte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn