Heim > Artikel > Backend-Entwicklung > Python-Grundlagen eins
Ü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'🎜>
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
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)!