


Soll ich jetzt Python2 oder Python3 lernen, um Python zu lernen?
Welche Python-Version soll ich jetzt lernen? Python2 oder Python3?
Verwandte Empfehlungen: „Python-Video“
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
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
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 'int'> >>> my_input = raw_input('enter a number: ') enter a number: 123 >>> type(my_input) <type 'str'>
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('enter a number: ') enter a number: 123 >>> type(my_input) <class 'str'>
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 'Python', python_version() print '3 / 2 =', 3 / 2 print '3 // 2 =', 3 // 2 print '3 / 2.0 =', 3 / 2.0 print '3 // 2.0 =', 3 // 2.0
Laufergebnis:
Python 2.7.6
3 / 2 = 1 3 // 2 = 1 3 / 2.0 = 1.5 3 // 2.0 = 1.0
Python 3
print('Python', python_version()) print('3 / 2 =', 3 / 2) print('3 // 2 =', 3 // 2) print('3 / 2.0 =', 3 / 2.0) print('3 // 2.0 =', 3 // 2.0)
Laufergebnis:
Python 3.4.1
3 / 2 = 1.5 3 // 2 = 1 3 / 2.0 = 1.5 3 // 2.0 = 1.0
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 : ......
改为
try: ...... except Exception as e : ......
五、打开文件
原: 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("?")
读取该文件的例子:
#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("?")
运行后应显示:
张三李四abcd1234
(四) bytes序列,一但形成,其内容是不可变的
例:
s="ABCD" b=s.encode("gbk") print b[0] # 显示 65 b[0] = 66
执行该句,出现异常: '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 )
# a 是一个由十个字节组成的数组,其每个元素是一个字节,类型借用 int
# 此时,每个元素初始值为 0
(二) 字节数组 是可变的
a = bytearray( 10 ) a[0] = 25
# 可以用赋值语句更改其元素,但所赋的值必须在 0 ~ 255 之间
(三) 字节数组的切片仍是字节数组
(四) 字符串转化为字节数组
#coding=gbk s ="你好" b = s.encode( "gbk") # 先将字符串按某种“GBK”编码方式转化为 bytes c = bytearray( b ) #再将 bytes 转化为 字节数组
也可以写作
c = bytearray( "你好", "gbk")
(五) 字节数组转化为字符串
c = bytearray( 4 ) c[0] = 65 ; c[1]=66; c[2]= 67; c[3]= 68 s = c.decode( "gbk" ) print ( s )
# 应显示: 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("?")
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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 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 ...

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 nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

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 an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

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 ...

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
