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

Erläuterung der grundlegenden Python-Wissenspunkte

巴扎黑
Freigeben: 2017-06-23 11:10:02
Original
2114 Leute haben es durchsucht

Abschnitt 16 MySQLdb

  • Win64-Bit-Installation python-mysqldb1.2.5

  • Installieren von MySQLdb unter Ubuntu

    sudo apt-get install python-MySQLdb
    Nach dem Login kopieren
  • MySQLdb-Bibliothek importieren

    import MySQLdb
    Nach dem Login kopieren
  • Datenbankverbindung erstellen

    conn = MySQLdb.connect(host="localhost",user="root",passwd="123456",db="test",charset="utf8")
    Nach dem Login kopieren
  • 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()
    Nach dem Login kopieren
  • 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"))
    Nach dem Login kopieren
  • 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")))
    Nach dem Login kopieren
  • An die Datenbank senden Operation

    conn.commit()
    Nach dem Login kopieren
  • Daten abfragen

    cur.execute("select * from users")
    Nach dem Login kopieren
    • 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()
      Nach dem Login kopieren
    • 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,但指向第三条
      Nach dem Login kopieren
  • Daten aktualisieren

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

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

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


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"
    Nach dem Login kopieren
  • 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()     #创建类的一个实例
      Nach dem Login kopieren
    • 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
    Nach dem Login kopieren
  • 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()
    Nach dem Login kopieren
  • 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage