Heim > Backend-Entwicklung > Python-Tutorial > Detaillierte Einführung in Python-Typen (Typ)

Detaillierte Einführung in Python-Typen (Typ)

零下一度
Freigeben: 2017-06-27 09:26:41
Original
4461 Leute haben es durchsucht

Empty (None)

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")
Nach dem Login kopieren

Das Ergebnis ist:

None got interpreted as False
Nach dem Login kopieren

Wenn eine Funktion keinen Wert zurückgibt, gibt sie None zurück:

def some_func():print("Hi")
var=some_func()print(var)
Nach dem Login kopieren

Das Ergebnis ist:

Hi
None
Nach dem Login kopieren
Code anzeigen

Wörterbücher

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"])
Nach dem Login kopieren

Das Ergebnis ist:

24
42
Nach dem Login kopieren
Code anzeigen

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"}
Nach dem Login kopieren

Das Ergebnis ist:

TypeError: unhashable type: 'list'
Nach dem Login kopieren
Code anzeigen

Wörterbuchfunktionen

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)
Nach dem Login kopieren

Das Ergebnis ist:

{1: 1, 2: 4, 3: 9, 4: 16, 8: 64}
Nach dem Login kopieren
Code anzeigen

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)
Nach dem Login kopieren

Das Ergebnis ist:

True
False
True
Nach dem Login kopieren
Code anzeigen

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"))
Nach dem Login kopieren

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"))
Nach dem Login kopieren
Code anzeigen

Tupel

Tupel sind Listen sehr ähnlich, können aber nicht geändert werden, indem Sie Klammern verwenden oder nicht...:

words=("spam","eggs","sausages",)
Nach dem Login kopieren
words="spam","eggs","sausages",
Nach dem Login kopieren

空元组用()新建。

元组的运行速度比列表快

其他使用方法和列表类似。

列表切片(List Slices)

列表切片是一种检索列表值的高级方法。基本的切片方法是用两个被冒号分开的整数来索引列表。这样可以从旧列表返回一个新列表。

squares=[0,1,4,9,16,25,36,49,64,81]print(squares[2:6])print(squares[3:8])print(squares[0:1])
Nach dem Login kopieren

结果是:

[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
Nach dem Login kopieren
View Code

跟range的参数相似,第一的下标的值会包括,但不包括第二个下标的值。

如果第一个下标省略,默认从头开始,

如果第二个下标省略,默认到结尾结束。

切片同样可以用于元组。

切片也有第三个参数,决定了步长。第一二个分别决定了开头与结尾。

squares=[0,1,4,9,16,25,36,49,64,81]
print(squares[:6:2])
print(squares[3::3])
print(squares[::3])
Nach dem Login kopieren

结果是:

[0, 4, 16]
[9, 36, 81]
[0, 9, 36, 81]
Nach dem Login kopieren

参数是复数的话就倒着走。-1是倒数第一,-2是倒数第二,第三个参数为负就会倒着切,这时候第一个参数和第二个参数就要倒着看了,也就是第二个参数变成了开始,第一个变成了结尾(因此-1会使整个列表倒序)

squares=[0,1,4,9,16,25,36,49,64,81]print(squares[:-1])print(squares[::-3])print(squares[-3::2])
Nach dem Login kopieren

结果是:

[0, 1, 4, 9, 16, 25, 36, 49, 64]
[81, 36, 9, 0]
[49, 81]
Nach dem Login kopieren
View Code

列表解析(List Comprehensions)

这是一种快速创建遵循某些规则的列表的方法:

cubes=[i**3 for i in range(5)]print(cubes)
Nach dem Login kopieren

结果是:

[0, 1, 8, 27, 64]
Nach dem Login kopieren
View Code

也可以包含if statement 加强限定条件。

evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
Nach dem Login kopieren
Nach dem Login kopieren

结果是:

[0, 4, 16, 36, 64]
Nach dem Login kopieren
Nach dem Login kopieren
View Code
evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
Nach dem Login kopieren
Nach dem Login kopieren

结果是:

[0, 4, 16, 36, 64]
Nach dem Login kopieren
Nach dem Login kopieren
View Code

range的范围过大会超出内存的容量引发MemoryError

String Formatting

为了使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)
Nach dem Login kopieren

format里的参数和{}里的参数是对应的。{}的参数是format()里参数的下标

参数被命名这种情况也是可以的:

a="{x},{y}".format(x=5,y=12)print(a)
Nach dem Login kopieren

结果是:

5,12
Nach dem Login kopieren
View Code

Useful Functions

Python 内置了许多有用的函数

join ,用一个string充当分隔符把一个由string组成的列表连起来。

print(",".join(["spam","eggs","ham"]))
Nach dem Login kopieren

结果是:

spam,eggs,ham
Nach dem Login kopieren
View Code

replace,用一个string 取代另一个。

print("Hello ME".replace("ME","world"))
Nach dem Login kopieren

结果是:

Hello world
Nach dem Login kopieren
View Code

startwith和endwith,判断是否是由……开头或结束:

print("This is a sentence.".startswith("This"))print("This is a sentence.".endswith("sentence."))
Nach dem Login kopieren

结果是:

True
True
Nach dem Login kopieren
View Code

lower和upper可以改变string的大小写

print("This is A sentence.".upper())print("THIS IS a SENTENCE..".lower())
Nach dem Login kopieren

结果是:

THIS IS A SENTENCE.
this is a sentence.
Nach dem Login kopieren
View Code

split的作用于join 相反,他可以按某个string为分隔符将一串string分开并成为列表的形式。

print("apple,eggs,banana".split(","))
Nach dem Login kopieren

结果是:

['apple', 'eggs', 'banana']
Nach dem Login kopieren

 有关数学的一些函数有:最大值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]))
Nach dem Login kopieren

结果是:

1
7
98
78.6325
23232325.12121
Nach dem Login kopieren
View Code

all和any可以把列表当成参数,然后返回True或 False,

nums=[55,44,33,22,11]if all([i <56 for i in nums]):print("All smaller than 56.")
Nach dem Login kopieren

 

nums=[55,44,33,22,11]if any([i <22 for i in nums]):print("at least one is smaller than 22.")
Nach dem Login kopieren

all和any的区别是,all需要所有的值都满足,any只需要有一个满足就行了。

枚举(enumerate),字面意思,把列表中的值按顺序一个一个列出来。

nums=[55,44,33,22,11]for v in enumerate(nums):print(v)
Nach dem Login kopieren

结果是:

(0, 55)
(1, 44)
(2, 33)
(3, 22)
(4, 11)
Nach dem Login kopieren
View Code

 

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!

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