I. Überblick
Variablen müssen in Python nicht deklariert werden. Jeder Variablen muss vor ihrer Verwendung ein Wert zugewiesen werden, und die Variable wird erst erstellt, nachdem ihr ein Wert zugewiesen wurde.
In Python ist eine Variable nur eine Variable; sie hat keinen Typ. Der "Typ", auf den wir uns beziehen, ist der Typ des Objekts im Speicher, auf das die Variable zeigt.
Das Gleichheitszeichen (=) wird verwendet, um Variablen Werte zuzuweisen.
Die linke Seite des Gleichheitszeichen-Operators (=) ist ein Variablenname, und die rechte Seite des Gleichheitszeichen-Operators (=) ist der in der Variablen gespeicherte Wert.
Zum Beispiel:
#!/usr/bin/python3 counter = 100 # 整型变量 miles = 1000.0 # 浮点型变量 name = "example" # 字符串 a = b = c = 1 # 同时为多个变量赋值 a,b,c=1,2,'hello' # 为多个对象指定多个变量
II. Standarddatentypen
Python3 hat sechs Standarddatentypen:
Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典)
2.1 Number
Python3 unterstützt int, float, bool und complex (komplexe Zahlen).
Es gibt nur einen Ganzzahltyp, int, der als lange Ganzzahl dargestellt wird. Es gibt kein Long wie in Python2.
Die eingebaute Funktion type() kann verwendet werden, um den Typ des Objekts abzufragen, auf das eine Variable verweist.
>>> a,b,c,d=5,6.7,true,2+3j Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'true' is not defined >>> a,b,c,d=5,6.7,True,2+3j >>> print(type(a),type(b),type(c),type(d)) <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
Hinweis:
- 1. Python kann mehreren Variablen gleichzeitig Werte zuweisen, z. B. a, b = 1, 2.
- 2. Eine Variable kann durch Zuweisung auf Objekte unterschiedlichen Typs zeigen.
- 3. Die numerische Division (/) gibt immer eine Gleitkommazahl zurück (print(2/4) gibt 0.5 aus); um eine ganze Zahl zu erhalten, verwendet man den Operator //.
- 4. Bei gemischten Berechnungen wandelt Python ganze Zahlen in Gleitkommazahlen um. 5. Boolesche Werte: True und False, 1 und 0.
- 6. Die del-Anweisung kann definierte Objekte löschen, z. B. del a,b.
2.2 Zeichenkette
Zeichenketten in Python werden in einfache Anführungszeichen (') oder doppelte Anführungszeichen (") eingeschlossen, und Backslashes werden verwendet, um Sonderzeichen zu maskieren.
Die Syntax für String-Slicing ist wie folgt:
variable[start_index:end_index]
Der Index beginnt bei 0, und -1 ist die Startposition vom Ende aus.
Das Pluszeichen (+) ist der Operator zur Verkettung von Zeichenketten, und das Sternchen (*) bedeutet, die aktuelle Zeichenkette zu wiederholen; die darauf folgende Zahl ist die Anzahl der Wiederholungen.
Beispiel:
#!/usr/bin/python3
# -*- coding:UTF-8 -*-
str='hello,world!'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始的后的所有字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
print('------------------------------')
print('hello\nworld') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nworld') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
Ausführungsergebnis:
hello,world! hello,world h llo llo,world! hello,world!hello,world! hello,world!你好 ------------------------------ hello world hello\nworld
Hinweis:
- 1. Backslashes können zum Maskieren verwendet werden. Die Verwendung von r kann verhindern, dass Backslashes maskiert werden.
- 2. Zeichenketten können mit dem Operator + verkettet und mit dem Operator * wiederholt werden.
- 3. Zeichenketten in Python haben zwei Indexierungsmethoden: von links nach rechts beginnend bei 0 und von rechts nach links beginnend bei -1.
- 4. Zeichenketten in Python können nicht geändert werden.
- 5. Python hat keinen separaten Zeichentyp; ein Zeichen ist eine Zeichenkette der Länge 1.
2.3 Liste
Die Liste ist der am häufigsten verwendete Datentyp in Python.
Listen können die meisten Datenstrukturen der Sammlungsklasse implementieren.
Die Typen der Elemente in einer Liste können unterschiedlich sein. Sie unterstützt Zahlen, Zeichenketten und kann sogar Listen enthalten (sogenannte Verschachtelung).
Eine Liste wird zwischen eckigen Klammern [] geschrieben, wobei die Elemente durch Kommas getrennt sind.
Wie Zeichenketten können Listen indexiert und geschnitten werden. Nachdem eine Liste geschnitten wurde, gibt sie eine neue Liste mit den erforderlichen Elementen zurück.
Die Syntax für Listen-Slicing lautet wie folgt:
variable[start_index:end_index]
Der Index beginnt bei 0, und -1 ist die Startposition vom Ende aus.
Das Pluszeichen (+) ist der Listenverkettungsoperator, und das Sternchen (*) ist die Wiederholungsoperation.
Beispiel:
#!/usr/bin/python3 # -*- coding:UTF-8 -*- list=['hello',357,6.6,'world'] ttlist=[123,'new'] print(list) # 输出完整列表 print(list[0]) # 输出列表第一个元素 print(list[1:3]) # 输出从第2个开始到第3个元素 print(list[2:]) # 输出从第三个开始的后的所有元素 print(ttlist * 2) # 输出两次列表 print(str + ttlist) # 连接列表
Ausführungsergebnis:
['hello', 357, 6.6, 'world'] hello [357, 6.6] [6.6, 'world'] [123, 'new', 123, 'new'] ['hello', 357, 6.6, 'world', 123, 'new']
Anders als bei Python-Strings können die Elemente in einer Liste geändert werden:
>>> new=[1,2,3,4,5,'hi'] >>> new [1, 2, 3, 4, 5, 'hi'] >>> new[1]='hehe' #改变列表new中的第2个元素为hehe >>> new [1, 'hehe', 3, 4, 5, 'hi'] >>> new[2:4]=[8,10] #改变列表new中的第3/4个元素为8,9 >>> new [1, 'hehe', 8, 10, 5, 'hi' >>> new[2:4]=[] #删除列表new中的第3、4个元素 >>> new [1, 'hehe', 5, 'hi'] >>> new[2:3]=[]
Hinweis:
- 1. Listen werden zwischen eckigen Klammern geschrieben, wobei die Elemente durch Kommas getrennt sind.
- 2. Wie Zeichenketten können Listen indexiert und geschnitten werden.
- 3. Listen können mit dem +-Operator verkettet werden.
- 4. Elemente in einer Liste können geändert werden.
2.4 Tupel
Tupel ähneln Listen, mit der Ausnahme, dass die Elemente eines Tupels nicht geändert werden können.
Tupel werden in runden Klammern () geschrieben, wobei die Elemente durch Kommas getrennt sind.
Die Typen der Elemente in einem Tupel können ebenfalls unterschiedlich sein.
Tupel ähneln Zeichenketten darin, dass sie indiziert werden können, wobei der Index bei 0 beginnt und -1 die Position vom Ende ist. Sie können auch geschnitten werden.
Tatsächlich kann ein String als eine spezielle Art von Tupel betrachtet werden.
Das Erstellen eines Tupels mit 0 oder 1 Elementen ist speziell, daher gibt es einige zusätzliche Syntaxregeln:
tup1 = () # 空元组 tup2 = (20,) # 一个元素,需要在元素后添加逗号
string, list und tuple gehören alle zur Sequenz.
Hinweis:
- 1. Wie bei Zeichenketten können die Elemente eines Tupels nicht geändert werden.
- 2. Tupel können ebenfalls auf die gleiche Weise indiziert und geschnitten werden.
- 3. Achte auf die speziellen Syntaxregeln zum Erstellen von Tupeln mit 0 oder 1 Elementen.
- 4. Tupel können auch mit dem +-Operator verkettet werden.
2.5 Mengen
Eine Menge ist eine ungeordnete Sammlung eindeutiger Elemente.
Seine grundlegenden Funktionen sind das Testen der Zugehörigkeit und das Löschen doppelter Elemente.
Sie können geschweifte Klammern { } oder die Funktion set() verwenden, um ein Set zu erstellen. Hinweis: Um ein leeres Set zu erstellen, müssen Sie set() anstelle von { } verwenden, weil { } verwendet wird, um ein leeres Dictionary zu erstellen.
Beispiel:
#!/usr/bin/python3
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
# 成员测试
if ('Rose' in student):
print('Rose 在集合中')
else:
print('Rose 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(b)
print(a - b) # a和b的差集
print(b - a) # b和a的差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b中不同时存在的元素
Ausgabeergebnis:
{'Jim', 'Mary', 'Rose', 'Tom', 'Jack'}
Rose 在集合中
{'d', 'c', 'r', 'a', 'b'}
{'l', 'c', 'm', 'a', 'z'}
{'d', 'b', 'r'}
{'l', 'm', 'z'}
{'l', 'd', 'c', 'r', 'm', 'a', 'b', 'z'}
{'c', 'a'}
{'l', 'd', 'r', 'm', 'b', 'z'}
2.6 Dictionary
Das Dictionary ist ein weiterer sehr nützlicher integrierter Datentyp in Python.
Listen sind geordnete Sammlungen von Objekten, während Dictionaries ungeordnete Sammlungen von Objekten sind.
Der Unterschied zwischen beiden besteht darin, dass auf Elemente in einem Dictionary über den Schlüssel und nicht über den Offset zugegriffen wird.
Ein Dictionary ist ein Mapping-Typ. Dictionaries werden durch "{ }" gekennzeichnet und sind eine ungeordnete Sammlung von Schlüssel: Wert-Paaren.
Für Schlüssel müssen unveränderliche Typen verwendet werden.
Im selben Dictionary müssen Schlüssel eindeutig sein.
Beispiel:
#!/usr/bin/python3
dict = {}
dict['one'] = "1 - hello,world"
dict[2] = "2 - 嘿嘿"
tinydict = {'name': 'lucy', 'code': 100, 'class': '5年级6班'}
print(dict['one']) # 输出键为 'one' 的值
print(dict[2]) # 输出键为 2 的值
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值
Ausgabeergebnis:
1 - hello,world
2 - 嘿嘿
{'name': 'lucy', 'code': 100, 'class': '5年级6班'}
dict_keys(['name', 'code', 'class'])
dict_values(['lucy', 100, '5年级6班'])
Eingebaute Funktionen:
get: gibt den entsprechenden Wert gemäß dem Schlüssel zurück; wenn kein Wert gefunden wird, wird None zurückgegeben, ohne einen Fehler auszulösen.
>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.get('k1')
>>> print(v)
v1
clear: leert das Dictionary.
>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.clear()
>>> print(dic)
{}
>>> print(v)
None
copy: kopiert (flache Kopie).
>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.copy()
>>> print(v)
{'k1':'v1','k2':'v2'}
pop: den entsprechenden Wert löschen und zurückgeben.
>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.pop('k1')
>>> print(dic)
{'k2':'v2'}
>>> print(v)
v1
popitem: zufällig ein Schlüssel-Wert-Paar löschen und den gelöschten Schlüssel und Wert zurückgeben.
>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.popitem()
>>> print(dic)
{'k1':'v1'}
>>> print(v)
{'k2':'v2'}
setdefault: hinzufügen; wenn der Schlüssel existiert, nichts tun.
>>> dic = {'k1':'v1','k2':'v2'}
>>> dic.setdefault('k3','v3')
>>> print(dic)
{'k1':'v1','k2':'v2','k3':'v3'}
update: batchweise hinzufügen oder ändern.
dic = {'k1':'v1','k2':'v2'}
dic.update({'k3':'v3','k4':'v4'})
print(dic)
{'k1':'v1','k2':'v2','k3':'v3','k4':'v4'}
Hinweis:
- 1. Ein Dictionary ist ein Mapping-Typ, und seine Elemente sind Schlüssel-Wert-Paare.
- 2. Die Schlüssel eines Dictionaries müssen unveränderliche Typen sein und dürfen nicht dupliziert werden.
- 3. Verwenden Sie { }, um ein leeres Dictionary zu erstellen.
III. Datentypkonvertierung
Zur Datentypkonvertierung verwendet man einfach den Datentyp als Funktionsnamen.
Die folgenden integrierten Funktionen können Konvertierungen zwischen Datentypen durchführen. Diese Funktionen geben ein neues Objekt zurück, das den konvertierten Wert darstellt.
| Funktion | Beschreibung | |
|---|---|---|
| int(x [,base]) | Wandelt x in eine Ganzzahl um. | |
| float(x) | x in eine Gleitkommazahl umwandeln. | |
| complex(real [,imag]) | Eine komplexe Zahl erstellen. | |
| str(x) | Objekt x in eine Zeichenkette umwandeln. | |
| repr(x) | Objekt x in eine Ausdruckszeichenkette umwandeln. | |
| eval(str) | Wird verwendet, um einen gültigen Python-Ausdruck in einer Zeichenkette auszuwerten und ein Objekt zurückzugeben. | |
| tuple(s) | Sequenz s in ein Tupel umwandeln. | |
| list(s) | Konvertiere Sequenz s in eine Liste. | |
| set(s) | Konvertiere in ein veränderbares Set. | |
| dict(d) | Erstelle ein Dictionary. d muss eine Sequenz von (key, value)-Tupeln sein. | |
| frozenset(s) | Konvertiere in ein unveränderbares Set. | |
| chr(x) | Konvertiere eine Ganzzahl in ein Zeichen. | |
| unichr(x) | Konvertiere eine Ganzzahl in ein Unicode-Zeichen. | |
| ord(x) | Wandelt ein Zeichen in seinen Ganzzahlwert um. | |
| hex(x) | Wandelt eine Ganzzahl in eine hexadezimale Zeichenkette um. | |
| oct(x) | Wandelt eine Ganzzahl in eine oktale Zeichenkette um. | |
Adresse des Originalartikels: https://segmentfault.com/a/1190000009722187