Heim > Backend-Entwicklung > Python-Tutorial > Detaillierte Zusammenfassung der Python-Datentypen und -Operatoren (Codebeispiele)

Detaillierte Zusammenfassung der Python-Datentypen und -Operatoren (Codebeispiele)

不言
Freigeben: 2019-01-25 10:22:09
nach vorne
2595 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine detaillierte Zusammenfassung (Codebeispiele) von Python-Datentypen und -Operatoren. Ich hoffe, dass er für Freunde hilfreich ist.

Im vorherigen Artikel ging es um die Eingabe, Ausgabe und Variablen von Python. In diesem Abschnitt werden die Datentypen von Python und die Berechnungsmethoden zwischen Daten untersucht.

1. Python-Datentypen

Im vorherigen Abschnitt wurden Variablen erläutert. Tatsächlich können diese Datentypen unterschiedliche Datentypen darstellen In Python gibt es hauptsächlich die folgenden Datentypen:

Ganzzahl (int)

In Computern hat die Anzahl der Ziffern in Ganzzahlen tatsächlich einen Bereich und ist nicht unendlich, wie wir es uns vorstellen , die Anzahl der Ziffern in der Ganzzahl kann auf verschiedenen Maschinen unterschiedlich sein, zum Beispiel:

32-Bit-System: Die Anzahl der Ziffern in der Ganzzahl beträgt 32 Bit und der Adressierungsbereich ist: -231 ~ 231-1, also -2147483648 ~ 2147483647

64-Bit-System: Die Anzahl der Ziffern in der Ganzzahl beträgt 64 Bit und der Adressbereich beträgt : -263 ~ 263-1, also -9223372036854775808 ~ 9223372036854775807

Lange Ganzzahl (long)

In Python lange Ganzzahl gibt nicht die Anzahl der Ziffern an, das heißt, die lange Ganzzahl kann unendlich groß sein, aber aufgrund der Einschränkungen der Maschine selbst kann sie oft nicht unendlich groß sein und funktioniert nicht innerhalb eines bestimmten Bereichs.

Gleitkommatyp (Float)

Die beiden oben genannten Datentypen sind Ganzzahlen, aber in Wirklichkeit sind es nicht alle Ganzzahlen, es gibt auch Dezimalzahlen, sodass der Gleitkommatyp entstanden ist. Um es ganz klar auszudrücken: Gleitkomma ist eine Dezimalzahl, und in Computern werden Vielfache von 10 in wissenschaftlicher Schreibweise durch e ersetzt. Beispielsweise wird 5,21x105 als 5,21e9 geschrieben. oder 521e7

Komplex

Die Kombination der oben genannten drei Datentypen ist eine reelle Zahl. Tatsächlich werden komplexe Zahlen häufig in wissenschaftlichen Berechnungen verwendet. Die allgemeine Form ist: x+yj, wobei x und y beide reelle Zahlen sind, zum Beispiel: 5+6j

Boolescher Wert (Wahr, Falsch)

Es gibt nur zwei Boolesche Werte: wahr und falsch, dargestellt durch True und False in Python. Achten Sie darauf, den ersten Buchstaben groß zu schreiben. In Python wird die Groß- und Kleinschreibung beachtet. Achten Sie daher unbedingt darauf.

In [77]: 5==6
Out[77]: False
In [78]: 3>2
Out[78]: True
In [79]: True == True
Out[79]: True
In [80]: True == False
Out[80]: False
Nach dem Login kopieren

Keine)

Es gibt nur einen Nullwert: Keiner. Dieser Nullwert kann nicht als 0 verstanden werden. weil 0 kein Nullwert ist, genau wie die Temperatur 0 Grad Celsius ist, hat 0 Grad Celsius eine Temperatur ( ̄▽ ̄)"

String (str)

Die Zeichenfolge kann geschrieben werden Der am häufigsten verwendete Datentyp in Python ist eine Zeichenfolge, solange sie in Anführungszeichen eingeschlossen ist. Python unterscheidet nicht zwischen einfachen Anführungszeichen, doppelten Anführungszeichen und dreifachen Anführungszeichen. Sie sind dasselbe:

rrree

Es wird bestimmt Neulinge geben, die fragen: „Was machst du mit so vielen Motten? Wenn du nicht einfach eine verwenden kannst“, lächle ich einfach still und sage nichts:

In [81]: 'Hello,world!'
Out[81]: 'Hello,world!'
In [82]: "Hello,world!"
Out[82]: 'Hello,world!'
In [83]: '''Hello,world'''
Out[83]: 'Hello,world'
Nach dem Login kopieren

Es wird ein Fehler gemeldet, weil Python automatisch das nächste Symbol abgleicht und die obige Situation eintritt:

In [84]: 'i'm MinuteSheep'
  File "<ipython-input-84-a2a810ee38cb>", line 1
    &#39;i&#39;m MinuteSheep&#39;
       ^
SyntaxError: invalid syntax
Nach dem Login kopieren

(Mengxin: Du böser alter Mann ist sehr böse ╰(‵□′)╯)

In ähnlicher Weise werden dreifache Anführungszeichen für mehrere Zeilen verwendet oder wenn die Inhaltssymbole verwirrend sind:

In [85]: "i&#39;m MinuteSheep"
Out[85]: "i&#39;m MinuteSheep"
Nach dem Login kopieren

Perfekte Lösung, denken Sie daran, was n ist, es bedeutet Zeilenumbruch, Sie werden auch feststellen, dass i'm zu i'm wird, das ist eigentlich eine Änderung der Bedeutungsanzeige , wir werden später darüber sprechen, nachdem wir entkommen sind

Ein weiterer Neuling benimmt sich wie ein Monster. Haben Sie im letzten Abschnitt nicht gesagt, dass drei Zitate mehrzeilige Kommentare sind? string?

Das ist eine gute Frage! Schauen Sie sich meine Erklärung an, es gibt Bilder und die Wahrheit:

Der Inhalt in drei Zitaten ist ein Kommentar. Der Inhalt in Anführungszeichen wird der Variablen

zugewiesen. Es gibt viele Methoden für Zeichenfolgen. Die Methoden von Zeichenfolgen werden später im Detail erläutert >Liste (Liste)

Neulinge sind möglicherweise nicht mit Listen vertraut. Sie können sie sich vorübergehend als eindimensionale Arrays vorstellen. Listen werden in Python häufig verwendet und sind ein Datentyp, der zusätzlich beherrscht werden muss Schauen wir uns an, wie die Liste aussieht:

In [87]: &#39;&#39;&#39;i&#39;m MinuteSheep,i said:"i&#39;m the best man in the world!"&#39;&#39;&#39;
Out[87]: &#39;i\&#39;m MinuteSheep,i said:"i\&#39;m the best man in the world!"&#39;
In [86]: &#39;&#39;&#39;
    ...: i&#39;m MinuteSheep,
    ...: i said:
    ...: "i&#39;m the best man in the world!"
    ...: &#39;&#39;&#39;
Out[86]: &#39;\ni\&#39;m MinuteSheep,\ni said:\n"i\&#39;m the best man in the world!"\n&#39;
Nach dem Login kopieren

Sie können sehen, dass es sich bei den in eckigen Klammern eingeschlossenen Daten um eine Liste handelt , und es kann andere Datentypen in der Liu-Tabelle geben, wie oben gezeigt. Zu den Listen gehören: Zeichenfolgen und Ganzzahlen. Natürlich können Listen Listen enthalten, die als Verschachtelung von Listen bezeichnet werden:

In [88]: [&#39;MinuteSheep&#39;, &#39;LiMing&#39;, &#39;123&#39;, 123]
Out[88]: [&#39;MinuteSheep&#39;, &#39;LiMing&#39;, &#39;123&#39;, 123]
Nach dem Login kopieren

Es gibt viele spezifische Dinge zu Listen, die hier nicht einzeln vorgestellt werden. Es wird später einen speziellen Abschnitt geben, in dem die Listenmethode erläutert wird 🎜> Tupel sind möglicherweise noch unbekannter. Um eine Liste zu ändern, wird die Liste in eckige Klammern gesetzt, und die Liste kann manipuliert werden wie Hinzufügen, Löschen, Ändern und Überprüfen), aber das Tupel kann nicht und das Tupel kann nicht geändert werden. Schauen wir uns an, wie das Tupel aussieht:

In [89]: [&#39;MinuteSheep&#39;, [&#39;LiMing&#39;, 123]]
Out[89]: [&#39;MinuteSheep&#39;, [&#39;LiMing&#39;, 123]]
Nach dem Login kopieren

字典(dict)

字典是Python的一种非常强大的数据类型,通过键值对的形式将数据保存下来,提高了数据增、删、改、查的速度,通常作为数据存储的格式,也来看看字典长啥样哇:

In [91]: {&#39;name&#39;: &#39;MinuteSheep&#39;, &#39;gender&#39; : &#39;male&#39;, &#39;age&#39;: 99}
Out[91]: {&#39;age&#39;: 99, &#39;gender&#39;: &#39;male&#39;, &#39;name&#39;: &#39;MinuteSheep&#39;}
Nach dem Login kopieren

可以看到,字典是用一对花括号括起来的,并且以 'key' : 'value' 的形式存储,同样,字典里面可以包含其他数据类型,上面的字典包括:字符串、整型。当然,字典也可以嵌套:

In [92]: {&#39;name&#39; : &#39;MinuteSheep&#39;, &#39;age&#39;: {&#39;young&#39; : 15, &#39;old&#39; : 99}}
Out[92]: {&#39;age&#39;: {&#39;old&#39;: 99, &#39;young&#39;: 15}, &#39;name&#39;: &#39;MinuteSheep&#39;}
Nach dem Login kopieren

字典也会有专门的一节去讲解它的方法。

二、Python数据运算

说完了Python的数据类型,就该数据运算了,养兵千日,用在一时嘛

算数运算

加 +

In [93]: 1+2
Out[93]: 3
Nach dem Login kopieren

减 -

In [95]: 1-2O
ut[95]: -1
Nach dem Login kopieren

乘 *

In [96]: 1*2
Out[96]: 2
Nach dem Login kopieren

除 /

In [97]: 5/2Out[97]: 2.5
Nach dem Login kopieren

取模 % (就是取余数)

In [98]: 5%2
Out[98]: 1
Nach dem Login kopieren

取整 //

In [99]: 5//2
Out[99]: 2
Nach dem Login kopieren

幂 **

In [100]: 5**2
Out[100]: 25
Nach dem Login kopieren

赋值运算

简单赋值 =

In [102]: a=5
In [103]: b=6
In [104]: c=a+b
In [105]: c
Out[105]: 11
Nach dem Login kopieren

加法赋值 += (b+=a,相当于b=b+a)

In [106]: a=5
In [107]: b=6
In [108]: b+=a
In [109]: b
Out[109]: 11
Nach dem Login kopieren

减法赋值 -= (b-=a,相当于b=b-a)

In [111]: a=5
In [112]: b=6
In [113]: b-=a
In [114]: b
Out[114]: 1
Nach dem Login kopieren

乘法赋值 *= (b*=a,相当于b=b*a)

In [115]: a=5
In [116]: b=6
In [117]: b*=a
In [118]: b
Out[118]: 30
Nach dem Login kopieren

除法赋值 /= (b/=a,相当于b=b/a)

In [119]: a=5
In [120]: b=6
In [121]: b/=a
In [122]: b
Out[122]: 1.2
Nach dem Login kopieren

取模赋值 %= (b%=a,相当于b=b%a)

In [123]: a=5
In [124]: b=6
In [125]: b%=a
In [126]: b
Out[126]: 1
Nach dem Login kopieren

取整赋值 //= (b//=a,相当于b=b//a)

In [127]: a=5
In [128]: b=6
In [129]: b//=a
In [130]: b
Out[130]: 1
Nach dem Login kopieren

幂赋值 **= (b**=a,相当于b=b**a)

In [131]: a=5
In [132]: b=6
In [133]: b**=a
In [134]: b
Out[134]: 7776
Nach dem Login kopieren

比较运算

测试相等 ==

In [136]: 1==1
Out[136]: True
In [137]: 1==2
Out[137]: False
Nach dem Login kopieren

不等于 !=

In [144]: 1!=1
Out[144]: False
In [145]: 1!=2
Out[145]: True
Nach dem Login kopieren

大于 >

In [146]: 1>1
Out[146]: False
In [147]: 2>1
Out[147]: True
Nach dem Login kopieren

大于等于 >=

In [149]: 1>=1
Out[149]: True
In [150]: 2>=1
Out[150]: True
Nach dem Login kopieren

小于 <

In [151]: 6<6
Out[151]: False
In [152]: 6<7
Out[152]: True
Nach dem Login kopieren

小于等于 <=

In [153]: 6<=6
Out[153]: True
In [154]: 6<=7
Out[154]: True
Nach dem Login kopieren

逻辑运算

布尔'与' and (有假为假,全真为真)

In [156]: True and False
Out[156]: False
In [157]: True and True
Out[157]: True
In [158]: False and False
Out[158]: False
Nach dem Login kopieren

布尔'或' or (有真为真,全假为假)

In [159]: True or True
Out[159]: True
In [160]: True or False
Out[160]: True
In [161]: False and False
Out[161]: False
Nach dem Login kopieren

布尔'非' not (取相反)

In [162]: not True
Out[162]: False
In [163]: not False
Out[163]: True
Nach dem Login kopieren

身份运算

判断两个标识符是否引用自同一个对象 is

In [167]: a=b=3

In [168]: a is b
Out[168]: True

In [169]: a=3

In [170]: b=5

In [171]: a is b
Out[171]: False
Nach dem Login kopieren

判断两个标识符是否引用自不同对象 is not

In [177]: a=3
In [178]: b=5
In [179]: a is not b
Out[179]: True
Nach dem Login kopieren

== 与 is 的区别:

看到这里,很多小伙伴已经晕了,== 和 is 好像一样啊,看起来一样,其实是不一样的,来看下面的这段代码:

In [180]: a = 600
In [181]: b = 600
In [182]: a == b
Out[182]: True
In [183]: a is b
Out[183]: False
Nach dem Login kopieren

其实啊,== 比较的是值,is比较的地址,让我们用 id() 这个函数查看一下变量的地址:

In [184]: id(a)
Out[184]: 2155434581648
In [185]: id(b)
Out[185]: 2155434581904
Nach dem Login kopieren

可以看到,a和b俩个变量的值虽然相同,但地址却不一样,所以使用 == 和 is 的结果自然就不一样。那我们再来看一段代码:

In [187]: a = 10
In [188]: b = 10
In [189]: a == b
Out[189]: True
In [190]: a is b
Out[190]: True
In [191]: id(a)
Out[191]: 1529742064
In [192]: id(b)
Out[192]: 1529742064
Nach dem Login kopieren

萌新是不是莫不着头脑了,用600的时候 is 输出False,用10的时候怎么地址一样了啊,(快回头,有鬼~)其实啊,Python有一个叫做小整数对象池的东西,只要是[-5, 256]之间的整数都会使用同一份地址,这下萌新明白了哇。

位运算

重点说明:位运算针对的是二进制数

按位与 &

In [193]: a = 15   # 15 = 0000 1111
In [194]: b = 30   # 30 = 0001 1110
In [195]: c = a&b  # 14 = 0000 1110
In [196]: c
Out[196]: 14
Nach dem Login kopieren

按位或 |

In [193]: a = 15   # 15 = 0000 1111
In [194]: b = 30   # 30 = 0001 1110
In [197]: c = a|b  # 31 = 0001 1111
In [198]: c
Out[198]: 31
Nach dem Login kopieren

按位异或 ^

In [193]: a = 15   # 15 = 0000 1111
In [194]: b = 30   # 30 = 0001 1110
In [200]: c = a^b  # 17 = 0001 0001
In [201]: c
Out[201]: 17
Nach dem Login kopieren

按位取反 ~

In [210]: a = 60   # 60 = 0011 1100
In [211]: c = ~a  # -61 = 1100 0011
In [212]: c
Out[212]: -61
Nach dem Login kopieren

左移 <<

In [213]: a = 15   # 15 = 0000 1111
In [214]: c = a<<2 # 60 = 0011 1100
In [215]: c
Out[215]: 60#左移后面要加位数
Nach dem Login kopieren

右移 >>

In [213]: a = 15     # 15 = 0000 1111
In [218]: c = a>>2    # 3 = 0000 0011 
In [219]: c
Out[219]: 3#右移后面要加位数
Nach dem Login kopieren

Python运算符优先级(从高到底依次排列)

**                 # 指数 (最高优先级)
~ + -              # 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //           # 乘,除,取模和取整除
+ -                # 加法减法
>> <<              # 右移,左移运算符
&                  # 位 &#39;AND&#39;
^ |                # 位运算符
<= < > >=          # 比较运算符
<> == !=           # 等于运算符
= %= /= //= -= += *= **=    # 赋值运算符
is is not          # 身份运算符
in not in          # 成员运算符
not and or         # 逻辑运算符
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Zusammenfassung der Python-Datentypen und -Operatoren (Codebeispiele). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
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