Heim Backend-Entwicklung Python-Tutorial Soll ich jetzt Python2 oder Python3 lernen, um Python zu lernen?

Soll ich jetzt Python2 oder Python3 lernen, um Python zu lernen?

Jun 15, 2019 am 09:26 AM
python2 python3

Welche Python-Version soll ich jetzt lernen? Python2 oder Python3?

Verwandte Empfehlungen: „Python-Video

Soll ich jetzt Python2 oder Python3 lernen, um Python zu lernen?

Für diejenigen, die gerade erst anfangen, Python zu lernen, sollten Sie direkt die 3 lernen Serienversion, da die 2-Serienversion laut Pythons Entwicklungsplan in Zukunft nicht mehr unterstützt wird. Da die 2-Serienversion jedoch über ein breites Anwendungsspektrum und eine große Anzahl verfügt von historischen Legacy-Projekten, Python-Versionswechsel Der Plan verlief ebenfalls nicht reibungslos (immer wieder verschoben). Für Python ist natürlich eine milde Versionswechselrichtlinie richtig, da es sonst zu vielen Kompatibilitätsproblemen kommen kann.

Obwohl die Python-Sprache in den letzten Jahren große Aufmerksamkeit erregt hat und einen offensichtlichen Aufwärtstrend aufweist, handelt es sich bei der Python-Sprache selbst nicht um eine aufstrebende Programmiersprache. Python und Java sind Programmiersprachen, die erstmals auf den Markt kamen Gleichzeitig wurde die Java-Sprache „schon in jungen Jahren berühmt“, während die Python-Sprache ein „Spätzünder“ ist. Die Python-Sprache wurde in den Anfängen hauptsächlich im Bereich der Webentwicklung eingesetzt. Aufgrund von PHP und Java fand Python jedoch keine große Beachtung.

Mit der Entwicklung von Big Data und künstlicher Intelligenz wurden die Vorteile der Python-Sprache deutlich. Dies ist auch ein wichtiger Grund, warum Python große Aufmerksamkeit und Verwendung gefunden hat Der Schwerpunkt liegt auf Big Data (Analyse) und Bereichen im Zusammenhang mit künstlicher Intelligenz (maschinelles Lernen, Verarbeitung natürlicher Sprache, Computer Vision).

Maschinelles Lernen ist derzeit eine beliebte Richtung, und es ist bequemer, Python zum Implementieren von Algorithmen zu verwenden, sodass Entwickler eher bereit sind, Python zu verwenden. Maschinelles Lernen ist auch eine der wichtigen Methoden der Big-Data-Analyse (die andere sind statistische Methoden), daher gibt es derzeit viele praktische Anwendungen für maschinelles Lernen. Als ich mich anfangs mit der Entwicklung maschinellen Lernens beschäftigte, verwendete ich die Java-Sprache. Später wurde es praktischer, nachdem ich zu Python gewechselt war.

Python hat derzeit neben Big Data und künstlicher Intelligenz auch bestimmte Anwendungen im Embedded-Bereich. Mit der Entwicklung des Internets der Dinge sind auch die Entwicklungsaussichten der Embedded-Entwicklung relativ breit.

Der Unterschied zwischen Python2 und Python3

Neben der Einführung des Imports aus der Zukunft ist es auch notwendig, den Unterschied zwischen den beiden

Drucken zu verstehen Funktion: (Python3 print ist eine Funktion und muss in Klammern eingeschlossen werden; print in Python 2 ist eine Klasse)

Die print-Anweisung von Python 2 wurde durch die Funktion print() ersetzt, was bedeutet, dass wir dies tun müssen Wickeln Sie das, was wir drucken möchten, in Klammern ein.

Python 2

print 'Python', python_version()
print 'Hello, World!'
print('Hello, World!')
print "text", ; print 'print more text on the same line'
run result:
Python 2.7.6
Hello, World!
Hello, World!
text print more text on the same line
Nach dem Login kopieren

Python 3

print('Python', python_version())
print('Hello, World!')
print("some text,", end="")
print(' print more text on the same line')
run result:
Python 3.4.1
Hello, World!
some text, print more text on the same line
Nach dem Login kopieren

Benutzereingaben durch input() analysieren: (Python3 The Die in Python2 erhaltene Eingabe ist vom Typ int und die raw_input von Python2 ist vom Typ str.) Vereinheitlichen: Eingabe wird in Python3 verwendet, row_input wird in Python2 verwendet und die Eingabe ist str

Lucky Darüber hinaus ist die Das Problem der Speicherung von Benutzereingaben als str-Objekt wurde in Python 3 gelöst. Um das gefährliche Verhalten beim Lesen von Nicht-String-Typen in Python 2 zu vermeiden, müssen wir stattdessen raw_input() verwenden.

Python 2

Python 2.7.6

[GCC 4.0.1 (Apple Inc. Build 5493)] auf Darwin

Typ „ Hilfe“, „Urheberrecht“, „Credits“ oder „Lizenz“ für weitere Informationen.

>>> my_input = input('enter a number: ')
enter a number: 123 
>>> type(my_input)
<type &#39;int&#39;> 
>>> my_input = raw_input(&#39;enter a number: &#39;)
enter a number: 123 
>>> type(my_input)
<type &#39;str&#39;>
Nach dem Login kopieren

Python 3

Python 3.4.1

[GCC 4.2.1 (Apple Inc. build 5577)] auf Darwin

Geben Sie „Hilfe“, „Copyright“, „Credits“ oder „Lizenz“ ein, um weitere Informationen zu erhalten.

>>> my_input = input(&#39;enter a number: &#39;)
enter a number: 123 
>>> type(my_input)
<class &#39;str&#39;>
Nach dem Login kopieren

Teilbar: (keine große Auswirkung)( In Python3, / bedeutet echte Division, % bedeutet Rest, // bedeutet Bodendivision (das Ergebnis wird in Python2 gerundet); / bedeutet, dass das Ergebnis basierend auf dem Dezimalpunkt von Divisor und Dividend erhalten wird, // bedeutet auch Bodendivision) Zur Vereinheitlichung: In Python3 bedeutet / echte Division, % bedeutet Rest, // das Ergebnis wird gerundet, in Python2 bedeutet der Dezimalpunkt / echte Division, % bedeutet Rest, // das Ergebnis wird gerundet

Python 2

print &#39;Python&#39;, python_version()
print &#39;3 / 2 =&#39;, 3 / 2
print &#39;3 // 2 =&#39;, 3 // 2
print &#39;3 / 2.0 =&#39;, 3 / 2.0
print &#39;3 // 2.0 =&#39;, 3 // 2.0
Nach dem Login kopieren

Laufergebnis:

Python 2.7.6

3 / 2 = 1
3 // 2 = 1
3 / 2.0 = 1.5
3 // 2.0 = 1.0
Nach dem Login kopieren

Python 3

print(&#39;Python&#39;, python_version())
print(&#39;3 / 2 =&#39;, 3 / 2)
print(&#39;3 // 2 =&#39;, 3 // 2)
print(&#39;3 / 2.0 =&#39;, 3 / 2.0)
print(&#39;3 // 2.0 =&#39;, 3 // 2.0)
Nach dem Login kopieren

Laufergebnis:

Python 3.4.1

3 / 2 = 1.5
3 // 2 = 1
3 / 2.0 = 1.5
3 // 2.0 = 1.0
Nach dem Login kopieren

in Python 3 löst xrange( ) eine benannte Ausnahme aus.
Die Verwendung von xrange() zum Erstellen iterierbarer Objekte ist in Python 2 sehr beliebt. Zum Beispiel: for-Schleife oder Listen-/Satz-/Wörterbuchverständnis.

Dies verhält sich sehr ähnlich wie ein Generator (d. h. „Lazy Evaluation“). Aber dieses xrange-iterable ist unendlich, was bedeutet, dass es unendlich durchlaufen werden kann.

Aufgrund ihrer verzögerten Auswertung ist die Funktion xrange() schneller als range(), wenn Sie sie nur einmal durchlaufen müssen (z. B. in einer for-Schleife). Es wird jedoch nicht empfohlen, statt einer einmaligen Iteration mehrere Iterationen durchzuführen, da der Generator jedes Mal von vorne beginnt.

Vergleich zwischen Python 2.4 und Python 3.0

1. Druckänderungen von Anweisung zu Funktion

Original: Druck 1, 2+3

geändert zu: print ( 1, 2+3 )

2. range und xrange

Original: range( 0, 4 ) Das Ergebnis ist die Liste [0,1,2,3 ]

Geändert in: list( range(0,4) )

Original: xrange( 0, 4 ) Geeignet für die variable Steuerung der for-Schleife

改为:range(0,4)

三、字符串

原: 字符串以 8-bit 字符串存储

改为: 字符串以 16-bit Unicode 字符串存储

四、try except 语句的变化

原:

try:
          ......
     except    Exception, e :
         ......
Nach dem Login kopieren

改为

  try:
          ......
     except    Exception as e :
         ......
Nach dem Login kopieren

五、打开文件

原: file( ..... )

或 open(.....)

改为:

只能用 open(.....)

六、从键盘录入一个字符串

原: raw_input( "提示信息" )

改为: input( "提示信息" )

七、bytes 数据类型

A bytes object is an immutable array. The items are 8-bit bytes, represented by integers in the range 0 <= x < 256.

bytes 可以看成是“字节数组”对象,每个元素是 8-bit 的字节,取值范围 0~255。

由于在 python 3.0中字符串以 unicode 编码存储,当写入二进制文件时,字符串无法直接写入(或读取),必须以某种方式的编码为字节序列后,方可写入。

(一)字符串编码(encode) 为 bytes

例: s = "张三abc12"

b = s.encode( 编码方式)

# b 就是 bytes 类型的数据

# 常用的编码方式为 : "uft-16" , "utf-8", "gbk", "gb2312", "ascii" , "latin1" 等

# 注 : 当字符串不能编码为指定的“编码方式”时,会引发异常

(二) bytes 解码(decode)为字符串

s = "张三abc12"

b = s.encode( "gbk") # 字符串 s 编码为 gbk 格式的字节序列

s1 = b.decode("gbk") # 将字节序列 b以gbk格式 解码为字符串

# 说明,当字节序列不能以指定的编码格式解码时会引发异常

(三)使用方法举例

#coding=gbk
f = open("c:\\1234.txt", "wb")
s = "张三李四abcd1234"
# -------------------------------
# 在 python2.4 中我们可以这样写:
# f.write( s )
# 但在 python 3.0中会引发异常
# -------------------------------
b = s.encode("gbk")
f.write( b )
f.close()
input("?")
Nach dem Login kopieren

读取该文件的例子:

#coding=gbk
f = open("c:\\1234.txt", "rb")
f.seek(0,2) #定位至文件尾
n = f.tell() #读取文件的字节数
f.seek(0,0) #重新定位至文件开始处
b = f.read( n )
# ------------------------------
# 在 python 2.4 中 b 是字符串类型
# 要 python 3.0 中 b 是 bytes 类型
# 因此需要按指定的编码方式确码
# ------------------------------ 
s = b.decode("gbk")
print ( s )
# ------------------------------
# 在 python 2.4 中 可以写作 print s 或 print ( s )
# 要 python 3.0 中 必须写作 print ( s )
# ------------------------------ 
f.close()
input("?")
Nach dem Login kopieren

运行后应显示:

张三李四abcd1234

(四) bytes序列,一但形成,其内容是不可变的

例:

s="ABCD"
b=s.encode("gbk")
print b[0]       # 显示   65
b[0] = 66
Nach dem Login kopieren

执行该句,出现异常: 'bytes' object does not support item assignment

八、 chr( K ) 与 ord( c )

python 2.4.2以前

chr( K ) 将编码K 转为字符,K的范围是 0 ~ 255

ord( c ) 取单个字符的编码, 返回值的范围: 0 ~ 255

python 3.0

chr( K ) 将编码K 转为字符,K的范围是 0 ~ 65535

ord( c ) 取单个字符的编码, 返回值的范围: 0 ~ 65535

九、 除法运算符

python 2.4.2以前

10/3 结果为 3

python 3.0

10 / 3 结果为 3.3333333333333335

10 // 3 结果为 3

十、字节数组对象 --- 新增

(一) 初始化

  a = bytearray( 10 )
Nach dem Login kopieren

# a 是一个由十个字节组成的数组,其每个元素是一个字节,类型借用 int

# 此时,每个元素初始值为 0

(二) 字节数组 是可变的

a = bytearray( 10 )
a[0] = 25
Nach dem Login kopieren

# 可以用赋值语句更改其元素,但所赋的值必须在 0 ~ 255 之间

(三) 字节数组的切片仍是字节数组

(四) 字符串转化为字节数组

 #coding=gbk
     s ="你好"
     b = s.encode( "gbk")     # 先将字符串按某种“GBK”编码方式转化为 bytes
     c = bytearray( b )          #再将 bytes 转化为 字节数组
Nach dem Login kopieren

也可以写作

 c = bytearray( "你好", "gbk")
Nach dem Login kopieren

(五) 字节数组转化为字符串

 c = bytearray( 4 )
       c[0] = 65 ; c[1]=66; c[2]= 67; c[3]= 68
      s = c.decode( "gbk" )
       print ( s )
Nach dem Login kopieren

# 应显示: ABCD

(六) 字节数组可用于写入文本文件

#coding=gbk
f = open("c:\\1234.txt", "wb")
s = "张三李四abcd1234"
# -------------------------------
# 在 python2.4 中我们可以这样写:
# f.write( s )
# 但在 python 3.0中会引发异常
# -------------------------------
b = s.encode("gbk")
f.write( b )
c=bytearray( "王五","gbk")
f.write( c )
f.close()
input("?")
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSoll ich jetzt Python2 oder Python3 lernen, um Python zu lernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Apr 02, 2025 am 07:18 AM

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Apr 01, 2025 pm 11:15 PM

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Apr 02, 2025 am 07:15 AM

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Was sind reguläre Ausdrücke? Was sind reguläre Ausdrücke? Mar 20, 2025 pm 06:25 PM

Regelmäßige Ausdrücke sind leistungsstarke Tools für Musteranpassung und Textmanipulation in der Programmierung, wodurch die Effizienz bei der Textverarbeitung in verschiedenen Anwendungen verbessert wird.

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Apr 01, 2025 pm 10:51 PM

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Apr 01, 2025 pm 11:18 PM

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Mar 21, 2025 pm 06:46 PM

In dem Artikel werden beliebte Python-Bibliotheken wie Numpy, Pandas, Matplotlib, Scikit-Learn, TensorFlow, Django, Flask und Anfragen erörtert, die ihre Verwendung in wissenschaftlichen Computing, Datenanalyse, Visualisierung, maschinellem Lernen, Webentwicklung und h beschreiben

See all articles