mboost-dp1

Python

Python 3.0 frigivet

- Via Python - , redigeret af Pernicious

Efter næsten otte års udvikling er Python 3.0 klar. Python 3.0 (3000) indeholder en masse nyheder, forbedringer og oprydning i den gamle syntaks.

Python 3.0 har bevidst aldrig lovet at være kompatibel med 2.X, da man har ønsket at fjerne elementer som udvikler Guido van Rossum har betegnet som værende fejl i tidligere udgaver, men implementeret fordi han ikke vidste bedre. Resultatet skulle være en renere og mere forståelig syntaks, men på bekostning af bagudkompatibilitet.

En samlet oversigt over alle de nye funktioner og forbedringer kan ses her.





Gå til bund
Gravatar #1 - Abech
4. dec. 2008 11:28
Der står overhovedet ikke beskrevet HVAD python 3.0 er?
Jeg har ingen idé om hvad artiklen handler om.
Gravatar #2 - Soylent Green
4. dec. 2008 11:32
#1 God Morgen. Python er et kæmpe, og meget anvendt programmerings sprog

http://en.wikipedia.org/wiki/Python_(programming_language)

Bruges af f.eks Google, YouTube og NASA
Gravatar #3 - NeoNmaN
4. dec. 2008 11:35
2#) Enig, dog ikke selv python udvikler, men kan da se det kommer til at ligge makent tætter på C og C++ ;0) det er nice.
Gravatar #4 - Hack4Crack
4. dec. 2008 11:39
jeg fornemmer et forløb, som er i stil med XP/Vista.

- det har taget langtid
- er ikke bagud kompatibel
- for meget tingel tangel i den nye version
- bruges af mange


værsgo at flame :D
Gravatar #5 - LeAstrale
4. dec. 2008 11:40
Ud fra den betragtning at nogle af de lidt mere simple ting så som print kommandoen bliver mere krævende.

Det går fra
print "Hello world!"

til
print('Hello World')


Vil jeg måske ikke synes det er en direkte forbedring, men jeg ved ikke hvordan det kører i praksis, så man kan jo blive overrasket.
Gravatar #6 - Zeales
4. dec. 2008 11:45
( Det ( Er ( Pisse ( Træls ))))
Gravatar #7 - Spiderboy
4. dec. 2008 12:06
#5
Det er da meget mere naturligt, at print bliver en funktion - som den i praksis alligevel fungerer som - end at den er en eller anden arbitrær ad-hoc keyword-konstruktion i sproget. Jeg vil sige, at syntaksen på dette punkt er blevet forbedret, fordi den bliver mere konsistent.
Gravatar #8 - b4@
4. dec. 2008 12:12
#5 Som jeg har forstået det er det fordi at Pythons pointe er at koden skal være ensarted og at der skal være en og kun en måde at gøre hver ting på!
Så hvis du vil skrive to linje med tekst ville du skrive.
print 'Hello, World!'
print 'Foo Bar Baz'

Men hvad hvis du vil skrive en linje?
print 'Hello, World!', 'Foo Bar Baz'

Dette vil dog skrive
Hello, World! Foo Bar Baz

Og hvis du vil have mellemrummet væk, så må du skive:
print 'Hello, World!'+'Foo Bar Baz'


I Python 3000 kan du gøre dette:
print('Hello, World!', 'Foo Bar Baz', sep='')


Man kan også bruge end til at give en bestemt endelse.

Det virker upraktisk, men er faktisk mere Pythonik.
Gravatar #9 - illishar
4. dec. 2008 12:13
#5 I det hele taget er det der med at lave forkortet syntax (for at gøre det hurtigere at skrive) et ret gammelt og outdated koncept.

Eks.:

strcpy
itoa

De ovenstående funktioner er sandsynligvis ren volapyk for ikke-C-folk, hvorved:
StringCopy
ConvertIntegerToString

... er ret sigende i sig selv. Og med en god IDE, så tager det ikke længere tid at skrive de lange funktioner.
Gravatar #10 - illishar
4. dec. 2008 12:14
#6 Er det ikke LISP, der har ((()()))))((()())-syntaxen?
Gravatar #12 - vision-dk
4. dec. 2008 12:16
#10 Jo, deraf også det kendte øgenavn Lost In Stupid Parentheses
Gravatar #13 - Troels
4. dec. 2008 12:26
#5: Der er mange flere forbedringer en blot "print". Print er maaske den som de fleste script folk kommer til at maerke, men de andre aendringer er meget mere spaendende.

Foreksempel er kan integers nu vaere uendeligt store (der er ingen maxint som i C++ or lign. sprog),
Alt tekst er per default unicode.
Udpakning af tubler er mere LISP agtig (car, cdr).
Der er direkte understoettelse af binaere tal (0b10101)

Og vigtigst: Der er generelt ryddet op i syntaxen... En ting som mange andre programmerings sprog ogsaa burde goere engang.
Gravatar #14 - PistolPete
4. dec. 2008 13:16
Er godt nok spændt på at prøve Python 3.0 i praksis :)

Bruger 2.4/2.5 rigtig meget og syntes alt i alt at det er et fremragende programmeringssprog.

Nogen der har praktiske erfaringer med 3.0?
Er det mange ting der er lavet om rent syntaksmæssigt, eller er det ikke så slemt som man får indtryk af?
Gravatar #15 - Lobais
4. dec. 2008 15:12
En ting man også skal være meget opmærksom på er, at 1/2 nu er lig med 0.5 i modsætning til 0 før. For at få integerdivision skal man bruge 1//2 operatoren.
Gravatar #16 - Lobais
4. dec. 2008 15:31
#13 Der er i praksis heller ingen maxint for ældre python udgaver. Taster du 10**10000 bliver det blot konverteret til en long.
Det nye er at python 3 bruger samme kode for alle størrelser tal, hvilket i øvrigt er en af hovedårsagerne til at python 3 er ca. 10% langsommere.
Gravatar #17 - arne_v
4. dec. 2008 17:28
#15

Vigtig pointe.

Jeg vil godt spå, at den ændring vil skabe problemer for en del eksisterende apps.
Gravatar #18 - arne_v
4. dec. 2008 17:33
#16

Jeg tror ikke at det betyder noget. Python er nok ikke det sprog man vil vælge til en million milliard beregninger alligevel - og for mere typiske formål så betyder det ikke noget. Og udviklingen i CPU'er har alligevel indhentet de 10% på 3 måneder.
Gravatar #19 - cwap
4. dec. 2008 22:10
Nu vi er ved det, hvad er det så egentlig lige Python kan der er så smart?

Hvilken type applikationer ville I vælge at skrive i Python frem for C/C++/C#/Java/etc..?

Kan godt ske jeg er på et stort vildspor her, men har altid undret mig over hvorfor folk bruger niche-sprog (selvom Python trodsalt nok er for stort til at blive kaldt et niche sprog :D ).
Gravatar #20 - arne_v
4. dec. 2008 22:14
#19

Det der sælger sprog som Python er produktivitet. Samme funktionalitet for færre linier og dermed færre timer.
Gravatar #21 - squad2nd
4. dec. 2008 22:57
#19

Hvilken type applikationer ville I vælge at skrive i Python frem for C/C++/C#/Java/etc..?


Ikke nok med, som arne_v siger, at man hurtigt kan være produktiv med Python - det er et mega hurtigt redskab at lave prototyper i, FØR man fx kaster sig over, og rewriter Python programmet i fx Java eller C#.
Gravatar #22 - arne_v
4. dec. 2008 23:58
#20

Og for hvad man ikke bruger Python til kan man læse:
http://www.version2.dk/artikel/6824-hvorfor-jeg-ik...
(det er om Ruby men kunne sagtens anvendes om Python)
Gravatar #23 - vision-dk
5. dec. 2008 05:09
cwap (19) skrev:
Nu vi er ved det, hvad er det så egentlig lige Python kan der er så smart?

Hvilken type applikationer ville I vælge at skrive i Python frem for C/C++/C#/Java/etc..?

Kan godt ske jeg er på et stort vildspor her, men har altid undret mig over hvorfor folk bruger niche-sprog (selvom Python trodsalt nok er for stort til at blive kaldt et niche sprog :D ).


Jeg har så lært Python at kende lidt af ufrivillighedens vej. Jeg arbejder til daglig med geografiske data, konverteringer af disse. Derudover udvikling af applikationer der kører i det basis software mit firma sælger (fra www.esri.com). Langt de fleste opgaver klarer jeg i C#, men en del konvertering og geoprocessering er lige til højrebenet med python, da vores basissoftware har baseret alt deres scripting på Python.

I dag synes jeg så det er et fedt sprog, men ville nok ikke have lært det at kende, hvis jeg ikke var blevet smidt ud i det.
Gravatar #24 - jowill1992
5. dec. 2008 13:29
Hvad fanden er Python??
Gravatar #25 - Spiderboy
5. dec. 2008 13:47
#24
Det ville du opdage, hvis du læste de 2 første indlæg i tråden.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login