Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Grundlagen eins

Python-Grundlagen eins

黄舟
黄舟Original
2016-12-16 16:25:091260Durchsuche

Über Speicherzuweisungsprobleme

Neu definierte String-Variablen öffnen standardmäßig einen neuen Speicherplatz

Andere ähnliche Indizes wie Listen, Tupel oder Wörterbücher weisen dem eigentlich nur Werte zu Variablen Der Name verweist einfach auf denselben Adressraum, wie unten gezeigt

1 ##Die neue Definition von String öffnet einen neuen Speicherplatz 2 >>> str1 = 'hoho' 3 >> ;> str2 = str1 4 >>> id(str1),id(str2) #Speicherobjektadresse anzeigen, Speicheradresse beobachten, d. h. str2 hat Speicherplatz 5 neu geöffnet (140297199501752) #Der Grund, warum wir hier dasselbe sehen, ist, dass es durch einen internen Mechanismus von Python verursacht wird. 6 >>> ' 7 >>> str1 8 'hoho' 9 > >> str210 'heihei'11 >>> 140297199501752, 140297214622552) 13 14 ## Nicht-Zeichen-Geräte, wie z. B. eine Liste oder ein Tupel, verweisen nach der Wörterbuchzuweisungsdefinition tatsächlich nur auf den neuen Variablennamen (kann als Beschriftung verstanden werden) auf dieselbe Speicheradresse und nehmen das Wörterbuch als Beispiel, wie unten gezeigt 15 >>> dic1 = {'name':'hoho' }16 >>> 140297199190088, 140297199190088)19 >>> dic1 = {'name':'hoho'} 20 >>> dic2 = dic121 >>> id(dic1),id(dic2) Speicherobjektadresse und stellen Sie fest, dass sie identisch ist. Ändern Sie daher auch dic1. 22 (140297199191752, 140297199191752)23 >>> >> dic225 {'name': 'heihei'}26 >>> dic127 {'name': ' heihei'🎜>

Ausgaben von Listen kopieren , Tupel und Wörterbücher (Verwendung von Shallow-Copy- und Deep-Copy-Copy-Modulen)

1 Listen und Tupel Sie können Slicing verwenden, um Shallow Copy zu implementieren, oder Sie können das Kopiermodul verwenden, um Shallow Copy (einschließlich Wörterbuch) zu verwenden.

2. Verwenden Sie copy.deepcopy(), um eine tiefe Kopie zu erstellen

1 >>> import copy 2 >>> >> list2 = list1 4 >>> list2 wird geändert, list1 ändert sich entsprechend 5 >> = list1[:] #Flache Komplexität, Array-Slicing verwenden, um flache Kopien durchzuführen 8 >>> list3 = copy.copy(list1) 9 >>> list3) #Hier sieht man, dass die Adressräume unterschiedlich sind10 (140297199250696, 140297199247560)11 >>>

12 >>> list4 = [1,[2]] ##Komplexe Strukturen muss tiefe Kopie verwenden 13 >>> list5 = list4[:]14 >>> list515 [1, [2 ]]16 >>> >> list418 [1, [6]] #Von hier aus können Sie sehen, dass die innere Liste nicht kopiert wird, ebenso wenig wie list4. Gefolgt von Änderungen 19 >>> list6 = copy.deepcopy(list4) #Tiefe Kopie wird hier verwendet 20 >>> list6[1][0] = 821 >>> list622 [1, [ 8]]23 >>> Sie können sehen, was kopiert wurde

Häufig verwendete integrierte Funktionen

Es gibt viele integrierte Funktionen in Python. Denken Sie nur an die häufig verwendeten gebrauchte, aber Sie erfahren auch, wie Sie überprüfen können, welche integrierten Funktionen vorhanden sind

Normalerweise ist sie in 3 Schritte unterteilt

Typ (Variable) –. -> Holen Sie sich die Klasse, zu der die Variable gehört

dir (Klassenname) ---> Überprüfen Sie, welche Methoden unter der Klasse verfügbar sind, wobei diejenigen, die mit doppelten Unterstrichen wie __abs__ beginnen, im Allgemeinen ersetzt werden als: __abs__ <=> abs()

help (Klassenname oder Funktionsname) ---> Zeigen Sie die Funktionsverwendung unter der Klasse an oder zeigen Sie direkt die Funktionsverwendung an

Kunststoff


1 >>> s,y = divmod(7,3) ## divmod gibt Daten zurück, der Wert ist (Quotient, Rest), was sein kann verwendet für Paging 2 >>> s,y3 (2, 1)4 >>> a = -25 >>> >> len (str(-2)) #Erhalten Sie die Geschwindigkeitslänge 8 2


Code anzeigen

Gleitkomma


1 > >> a = 7,02 >>> (2) #Auf 6 7.247 runden >>> a.__trunc__() #Auf 8 7 runden


Code anzeigen

String


1 >>> str1 = 'this is a string' 2 >>> Operation und Index 5 'hi' 6 >>> len(str1) #Length 7 16 8 >>> str1.find('is',3, 9)11 512 >>> str1.find('iss') #Wenn nicht gefunden, wird -1 zurückgegeben, wenn es sich um einen Index handelt, wird ein Fehler gemeldet. -114 >> 'is',3)15 516 >>> str1.index('iss')17 Traceback (letzter Aufruf zuletzt):18 Datei "", Zeile 1, in 19 ValueError: Teilzeichenfolge nicht gefunden20 > aaa'25 >>> str1.rstrip()26 ' aaa'27 >>> str1 = 'duiqi'  #Ausrichtungsoperation 28 >>> >> str1.ljust(20,'*')31 'duiqi***************'32 >>> )33 '******************duiqi'34 >>> str1.center(20,'*')35 '******** ****duiqi* *******'36 >>> str1 = 'this is a string'37 >>> , 'is', ' a', 'string']39 >>> str1.splitlines()40 ['this is a string']41 >>> 42 >>> ; '->'.join([str(i) for i in list1]) #Verbindungsoperation 43 '1->2->3'44 >>> Dies ist eine Zeichenfolge. 46 >>> str1.count('is') #Count 47 248 >>> '50 >> > str1.replace('is','os',1) #Ersetzen, nur 1 ersetzen 51 'thos is a string'52 53 str1.startswith('sub') #Was mit 54 beginnt str1.endswith(' sub') #Was endet mit 55 str1.lower() #In Kleinbuchstaben konvertieren 56 str1.upper() #In Großbuchstaben konvertieren

Code anzeigen

Liste und Tupel (Element Die Gruppe kann nicht geändert werden)


1 >>> 'b') #Neu Hinzufügen 3 >>> lst1 4 ['a', 'b'] 5 >>> lst1.extend(lst2) #Extended new 7 >>> lst1 8 ['a', 'b', 'c', 'd'] 9 >>> ') #Einfügen 10 >>> lst111 ['z', 'a', 'b', 'c', 'd']12 >>> 'd'14 > >> lst115 ['z', 'a', 'b', 'c']16 >>> ;>> lst118 [ 'a', 'b', 'c']19 >>> > lst2 = lst1.copy () # Nur flache Kopie Python3 hat 21 >>> lst2 = lst1.copy()22 >>> 'd']24 >>> lst2.clear() #Liste löschen 25 >>> 'd', 'c' , 'b', 'a']30 >>> lst1.sort() #Sort31 >>> 'd']33 >>> lst1.append('a')34 >>> 'b', 'c', 'd', 'a']38 >>> len(lst1) #Länge 39 540 >>> lst1.index('a') #Index 41 042 > ;>> lst1 .index('a',1) #Index 43 4

Code anzeigen

Wörterbuch


1 >>> dic1 = {'key1' : 'a','key2' : 'b'} 2 >>> nein Die Standardrückgabe ist None, Sie können auch 3 'a' 4 >>> dic1.get('key3') 5 >>> angeben , ' b'), ('key1', 'a')]) #Return tuple list 7 >>> key1 ', 'a')] 9 >>> dic1.keys() #Liste der Rückgabeschlüssel 10 dict_keys(['key2', 'key1'])11 >>> dic1.values()  # Rückgabewertliste 12 dict_values(['b', 'a'])13 >>> dic2 = dic1.copy() #Shallow copy 14 >>> ' key1': 'a'}16 >>> dic1['key3'] = 'c' #Zuweisung (Änderung)17 >>> : 'a', 'key3': 'c'}19 >>> dic1.pop('key1') #Löschen Sie den angegebenen Schlüssel20 'a'21 >>> b ', 'key3': 'c'}23 >>> dic1.get('key1','a') #Value, no 'a'24 'a'25 >>> 'key2': 'b', 'key3': 'c'}27 >>> dic1.setdefault('key1','a') #Setzen Sie den Standardwert (scheint nutzlos) 28 'a'29 > ; >> dic130 {'key2': 'b', 'key1': 'a', 'key3': 'c'}31 >>> dic3 = {'name':'update'}32 > ;>> dic1.update(dic3) #Update 33 >>> {'key2': 'b', 'name': 'update', 'key1': 'a', 'key3 ' : 'c'}35 >>> del dic3 #Delete 36 >>> key3': 'c'}38 >>> len(dic1) #Length 39 4

Code anzeigen

Das Obige ist der Inhalt von Python Basic One, mehr Für verwandte Artikel beachten Sie bitte die chinesische PHP-Website (www.php.cn)!


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