None kann verwendet werden, um anzugeben, dass der Wert einer Variablen fehlt, ähnlich wie Null in anderen Sprachen.
Wie andere Nullwerte: 0, [] und leere Zeichenfolge, geben boolesche Variablen False statt True zurück.
if None:print("None got interpreted as True")else:print("None got interpreted as False")
Das Ergebnis ist:
None got interpreted as False
Wenn eine Funktion keinen Wert zurückgibt, gibt sie None zurück:
def some_func():print("Hi") var=some_func()print(var)
Das Ergebnis ist:
Hi None
Ein Wörterbuch ist eine Datenstruktur, die Werten Schlüssel zuordnet. Eine Liste kann man sich als Wörterbuch mit einer Reihe ganzzahliger Schlüssel vorstellen.
Wörterbücher können wie Listen mit eckigen Klammern indiziert werden, mit der Ausnahme, dass die eckigen Klammern keine tiefgestellten Zeichen mehr sind, sondern Schlüsselwörter
ages={"Dave":24,"Mary":42,"John":58}print(ages["Dave"])print(ages["Mary"])
Das Ergebnis ist:
24 42
Beim Indizieren eines Schlüsselworts, das kein Wörterbuch speichern kann, tritt ein Fehler auf Beliebige Daten. Ein leeres Wörterbuch ist „{}“.
Die Schlüsselwörter im Wörterbuch können nicht geändert werden. Die Verwendung eines veränderlichen Objekts als Wörterbuchschlüssel führt zu einem TypeError.
bad_dict={ [1,2,3]:"one two three"}
Das Ergebnis ist:
TypeError: unhashable type: 'list'
Wörterbuchtasten können unterschiedliche Werte zugewiesen werden. Wenn kein Schlüsselwort vorhanden ist, erstellen Sie ein neues Schlüsselwort:
squares={1:1,2:4,3:"error",4:16} squares[8]=64squares[3]=9print(squares)
Das Ergebnis ist:
{1: 1, 2: 4, 3: 9, 4: 16, 8: 64}
Anzeigen, ob ein Schlüsselwort im Wörterbuch mit in vorhanden ist oder nicht, genau wie in der Liste.
nums={1:"one",2:"two",3:"three"}print(1 in nums)print("three"in nums)print(4 not in nums)
Das Ergebnis ist:
True False True
get ist eine sehr einfach zu verwendende Wörterbuchmethode, die genauso funktioniert wie ein Index, aber wenn das Schlüsselwort nicht im Wörterbuch gefunden wird, wird None anstelle eines Fehlers zurückgegeben
paris={1:"apple","orange":[2,3,4], True:False, None:"True"}print(paris.get("orange"))print(paris.get(7))print(paris.get(12345,"not in dictionary"))
Der zweite Parameter von get bedeutet, dass dieser Wert zurückgegeben wird, wenn das Schlüsselwort nicht gefunden werden kann.
Das Ergebnis ist:
paris={1:"apple","orange":[2,3,4], True:False, None:"True"}print(paris.get("orange"))print(paris.get(7))print(paris.get(12345,"not in the dicrionary"))
Tupel sind Listen sehr ähnlich, können aber nicht geändert werden, indem Sie Klammern verwenden oder nicht...:
words=("spam","eggs","sausages",)
words="spam","eggs","sausages",
空元组用()新建。
元组的运行速度比列表快
其他使用方法和列表类似。
列表切片是一种检索列表值的高级方法。基本的切片方法是用两个被冒号分开的整数来索引列表。这样可以从旧列表返回一个新列表。
squares=[0,1,4,9,16,25,36,49,64,81]print(squares[2:6])print(squares[3:8])print(squares[0:1])
结果是:
[4, 9, 16, 25] [9, 16, 25, 36, 49] [0]
跟range的参数相似,第一的下标的值会包括,但不包括第二个下标的值。
如果第一个下标省略,默认从头开始,
如果第二个下标省略,默认到结尾结束。
切片同样可以用于元组。
切片也有第三个参数,决定了步长。第一二个分别决定了开头与结尾。
squares=[0,1,4,9,16,25,36,49,64,81] print(squares[:6:2]) print(squares[3::3]) print(squares[::3])
结果是:
[0, 4, 16] [9, 36, 81] [0, 9, 36, 81]
参数是复数的话就倒着走。-1是倒数第一,-2是倒数第二,第三个参数为负就会倒着切,这时候第一个参数和第二个参数就要倒着看了,也就是第二个参数变成了开始,第一个变成了结尾(因此-1会使整个列表倒序)
squares=[0,1,4,9,16,25,36,49,64,81]print(squares[:-1])print(squares[::-3])print(squares[-3::2])
结果是:
[0, 1, 4, 9, 16, 25, 36, 49, 64] [81, 36, 9, 0] [49, 81]
这是一种快速创建遵循某些规则的列表的方法:
cubes=[i**3 for i in range(5)]print(cubes)
结果是:
[0, 1, 8, 27, 64]
也可以包含if statement 加强限定条件。
evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
结果是:
[0, 4, 16, 36, 64]
evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
结果是:
[0, 4, 16, 36, 64]
range的范围过大会超出内存的容量引发MemoryError
为了使string和non-string结合,可以把non-string转化为string然后再连起来。
string formatting提供了一种方式,把non-string嵌入到string里,用string的format method来替换string里的参数。
nums=[4,5,6] msg="Numbers:{0} {1} {2}".format(nums[0],nums[1],nums[2])print(msg)
format里的参数和{}里的参数是对应的。{}的参数是format()里参数的下标
参数被命名这种情况也是可以的:
a="{x},{y}".format(x=5,y=12)print(a)
结果是:
5,12
Python 内置了许多有用的函数
join ,用一个string充当分隔符把一个由string组成的列表连起来。
print(",".join(["spam","eggs","ham"]))
结果是:
spam,eggs,ham
replace,用一个string 取代另一个。
print("Hello ME".replace("ME","world"))
结果是:
Hello world
startwith和endwith,判断是否是由……开头或结束:
print("This is a sentence.".startswith("This"))print("This is a sentence.".endswith("sentence."))
结果是:
True True
lower和upper可以改变string的大小写
print("This is A sentence.".upper())print("THIS IS a SENTENCE..".lower())
结果是:
THIS IS A SENTENCE. this is a sentence.
split的作用于join 相反,他可以按某个string为分隔符将一串string分开并成为列表的形式。
print("apple,eggs,banana".split(","))
结果是:
['apple', 'eggs', 'banana']
有关数学的一些函数有:最大值max,最小值min,绝对值abs,约等数round(第二个参数可以决定保留几位小数),对列表里的数求和用sum等:
print(min(1,2,3,4,5,6,7))print(max(1,2,3,4,5,6,7))print(abs(-98))print(round(78.632453434,4))print(sum([2.12121,23232323]))
结果是:
1 7 98 78.6325 23232325.12121
all和any可以把列表当成参数,然后返回True或 False,
nums=[55,44,33,22,11]if all([i <56 for i in nums]):print("All smaller than 56.")
nums=[55,44,33,22,11]if any([i <22 for i in nums]):print("at least one is smaller than 22.")
all和any的区别是,all需要所有的值都满足,any只需要有一个满足就行了。
枚举(enumerate),字面意思,把列表中的值按顺序一个一个列出来。
nums=[55,44,33,22,11]for v in enumerate(nums):print(v)
结果是:
(0, 55) (1, 44) (2, 33) (3, 22) (4, 11)
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Python-Typen (Typ). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!