In weniger als einer Minute können Sie mit dem Lesen von Expert Python Programming auf Ihrem Kindle beginnen. Sie haben noch keinen Kindle? Hier kaufen.
Derzeit nicht verfügbar.
Lesen Sie Bücher auf Ihrem Computer oder auf anderen Mobilgeräten mit unseren GRATIS Kindle Lese-Apps.
Expert Python Programming
 
 

Expert Python Programming [Kindle Edition]

Tarek Ziadé
5.0 von 5 Sternen  Alle Rezensionen anzeigen (2 Kundenrezensionen)

Preisinformationen nicht verfügbar.

Artikel wird überprüft

Dieses Produkt ist zur Zeit nicht verfügbar, da uns Kunden über mögliche Fehler in der Beschreibung, dem Inhalt oder in der Darstellung des Inhalts unterrichtet haben.

Wir arbeiten mit dem Verlag zusammen, um das Problem so rasch wie möglich zu beheben. Wie immer ist uns das Feedback unserer Kunden sehr wichtig.

Weitere Ausgaben

Amazon-Preis Neu ab Gebraucht ab
Taschenbuch EUR 34,40  

Produktbeschreibungen

Kurzbeschreibung

This book is an authoritative exploration of Python best practices and applications of agile methodologies to Python, illustrated with practical, real-world examples. This book is for Python developers who are already building applications, but want to build better ones by applying best practices and new development techniques to their projects. The reader is expected to have a sound background in Python programming.

Über den Autor

Tarek Ziadé is CTO at Ingeniweb in Paris, working on Python, Zope, and Plone technology and on Quality Assurance. He has been involved for 5 years in the Zope community and has contributed to the Zope code itself. Tarek has also created Afpy, the French Python User Group and has written two books in French about Python. He has gave numerous talks and tutorials in French and international events like Solutions Linux, Pycon, OSCON, and EuroPython.

Produktinformation

  • Format: Kindle Edition
  • Dateigröße: 1262 KB
  • Seitenzahl der Print-Ausgabe: 374 Seiten
  • ISBN-Quelle für Seitenzahl: 184719494X
  • Verlag: Packt Publishing (19. September 2008)
  • Verkauf durch: Amazon Media EU S.à r.l.
  • Sprache: Englisch
  • ASIN: B005O9OFUI
  • Text-to-Speech (Vorlesemodus): Aktiviert
  • Durchschnittliche Kundenbewertung: 5.0 von 5 Sternen  Alle Rezensionen anzeigen (2 Kundenrezensionen)
  • Amazon Bestseller-Rang: #89.731 Bezahlt in Kindle-Shop (Siehe Top 100 Bezahlt in Kindle-Shop)

  •  Ist der Verkauf dieses Produkts für Sie nicht akzeptabel?

Tags

 (Was ist das?)
Bei einem Tag handelt es sich um ein Schlagwort, das zum Produkt passt.
Tags erleichtern allen Kunden die Suche und die Sortierung ihrer Lieblingsprodukte.
 

Kundenrezensionen

4 Sterne
0
3 Sterne
0
2 Sterne
0
1 Sterne
0
Die hilfreichsten Kundenrezensionen
27 von 27 Kunden fanden die folgende Rezension hilfreich
Format:Taschenbuch
Tarek Ziadé ist ein in der Zope- und Plone-Community sehr bekannter Entwickler. Sein Buch wendet sich an noch unerfahrene Programmierer, die aber bereits einige Python-Lehrbücher gelesen haben, sich in der Sprache mittlerweile ganz gut auskennen und nun ihre erste eigene Anwendung schreiben möchten.

Es zeigt ihnen, wie man es richtig anfängt, wie man eine vernünftige Entwicklungsumgebung aufbaut, wie man seinen Code verwaltet, dokumentiert, vertreibt und wie man ihn in Entwicklungszyklen ausbaut und optimiert. »Expert Python Programming« ist daher kein Buch, um die Programmiersprache Python zu erlernen. Nur zwei Kapitel beschäftigen sich mit speziellen Syntax-Themen wie List Comprehensions, Iterators, Generators, Decorators, Subclassing, Descriptors und Properties.

In den übrigen Kapiteln geht es um die richtige Arbeitsweise. Wie schreibe ich ein Paket? Wie arbeite ich mit zc.buildout? Wie benutze ich ein Versionierungssystem? Wie gestalte ich den Entwicklungs-Lebenszyklus mit Hilfe eines Trackers? Wie schreibe ich eine gute Dokumentation? Wie gewöhne ich mich an eine testgetriebene Entwicklung und welche Hilfsmittel stehen mir dabei zur Verfügung? Wie optimiere ich meinen Code, wenn es zu Performance-Problemen kommt? Wie finde ich Flaschenhälse und wie beseitige ich sie? Und schließlich welches Software-Design lege ich meiner Anwendung zugrunde?

All diese Fragen beantwortet das Buch und erspart dem Leser dadurch sehr viel Zeit und Arbeit, denn um die von Ziadé beschriebenen Werkzeuge und Arbeitsmethoden kennen zu lernen, müsste man sich sicher ein oder zwei Jahre intensiv in der Python-Community bewegen. Man merkt von Anfang an, dass hier ein Autor mit praktischem Hintergrund schreibt und dem Leser wirklich aktuelle Werkzeuge wie beispielsweise zc.buildout, paster oder Sphinx vorstellt.

Das Buch sei daher jedem empfohlen, der professionell mit Python arbeiten möchte.

In englischen Rezensionen werden teilweise sprachliche Mängel beanstandet. Der Autor ist Franzose und sein Englisch daher vermutlich nicht perfekt. Diese Mängel sind aber nicht ihm, sondern höchstens dem Verlag anzukreiden, der das Buch wohl nicht ordentlich lektoriert hat. Auch der Flattersatz ist nicht gerade schön. Für deutsche Leser sei aber hervorgehoben, dass Ziadés Englisch sehr gut und vor allem sehr verständlich ist. Ziadé versteht es komplexe Themen anschaulich und verständlich zu erklären. Daher bekommt das Buch fünf Sterne.
War diese Rezension für Sie hilfreich?
4 von 5 Kunden fanden die folgende Rezension hilfreich
Format:Taschenbuch
Ich kann mich Jan Ulrich Hasecke nur anschließen und dieses Buch jedem empfehlen, der sich ernsthaft mit Python beschäftigen will, und dabei etwas anderes als die üblichen Bücher, die sich meist nur mit der Sprache und einer Übersicht der Standardbibliothek beschäftigen, lesen möchte.
War diese Rezension für Sie hilfreich?
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
Amazon.com:  22 Rezensionen
70 von 72 Kunden fanden die folgende Rezension hilfreich
lots of good stuff, but many infuriating details 19. Januar 2009
Von Alex Martelli - Veröffentlicht auf Amazon.com
Format:Taschenbuch
I was very biased in favor of this book to start with -- I got a free review copy, Tarek is a Python committer like me, and I even found myself quoted by name as early as the intro;-). Throughout the book, I kept *wanting* to like it... there ARE plenty of good and useful materials strewn throughout it... but in the end the overall judgment had to be (slightly) negative, because there are just too many infuriating details -- the book's detailed copyediting was clearly something the publishers badly skimped on. I ran out of steam entering errata on the book's site -- there are just too many small errors and not a few not-so-small ones; I didn't even get started on the many, many cases of awkward or outright incorrect English -- clearly the editors of an author who's not a native speaker of English must put particularly care in that (as a non-native speaker and author myself I'm keenly aware of that) and in this case it absolutely wasn't done.

But let's focus on the GOOD stuff: there's a TON of brief but useful summaries of installing and configuring a zillion useful tools (all open source ones which you can freely download from their various sources), from editors to (kinda;-) "linux emulators" for Windows, from automated build and test frameworks to revision control systems both centralized and distributed, and so on. In most cases you'll want to delve deeper into the documentation of specific tools, and of course there are alternative "competing" tools that can are barely mentioned (or not even mentioned), but the vast collection of simple instructions and author's recommendations is quite useful anyway, in many cases even for tasks that _aren't_ related to Python programming.

Almost as useful (and almost as short) is the overview of method for arranging and structuring development, documentation, testing, and optimization -- these parts would be especially useful to students, who typically never get exposed to any of these issues, at all, in college courses on programming and "computer science". Again, you'll want to delve deeper into each subject, but it's a useful thing to have the very basics laid out compactly and logically. Unfortunately, the author has a penchant for _over_simplifying, and particularly for apodictically asserting (with no or insufficient justification) theses and preferences that are far from expert developers' consensus; to get real value out of the book, you need to read it in an extremely critical frame of mind, ready to question each and every assertion with independent research (many you'll find confirmed, many others you won't).

This also holds for the chapter on design patterns, with such egregious claims as "Singletons should not have several levels of inheritance" -- they should have as few as practical and feasible, *exactly like any other class*; the desire to limit the number of distinct instances (which is mostly about STATE) is quite orthogonal to the issues with subclassing (which is mostly about BEHAVIOR). From this original "totally missing the point" follows a classic howler (which I've seen repeated in a review above): "why not use a module?". I have news for you, Tarek: a module supports *ZERO* inheritance -- which is quite a bit stricter than even the unjustified "should not have several level" claim above. Having to completely give up the usefulness of inheritance just because you want to limit instantiation would be a very limiting engineering tradeoff! If there's no need for inheritance then *of course* you want to use a module - DOH! - but if there IS (or if special methods can really help you) then it's not an option.

Some of the Python-specific parts are even weaker -- I was particularly disappointed at the two pages about "how Python deals with memory", which confuse references and objects and thus don't really help the reader at all with this crucial part of "expert Python use". To end on a high note, though, other Python-specific parts here and there are quite useful, and only partly overlap with the contents of other books on the subject -- things such as 'eggs' and testing frameworks such as `nose'. But overall the Python-specific content of this book (particularly the good and useful parts thereof) is surprisingly little for the title, surely less than half.

Overall, I would recommend this book only to a reader who IS prepared for extremely critical reading and double-checking, is not put out by very un-idiomatic English and frequent minor errors (typos in text and code, etc), and who thinks he can get good use out of the best parts of the books, the selective "survey" and summary instructions about many excellent tools and the simplified coverage of development methodologies.
17 von 17 Kunden fanden die folgende Rezension hilfreich
Good ideas, poor editing 4. November 2008
Von Eugene - Veröffentlicht auf Amazon.com
Format:Taschenbuch|Von Amazon bestätigter Kauf
This is the only book I've found that really talks about Python best practices at length. The author definitely has some good ideas about managing and releasing code, as well as taking advantage of Python's more advanced constructs.

However, there are way too many editing mistakes in here. I understand that English is not the author's primary language, but he should have gotten an editor or reviewer to fix his grammar and punctuation mistakes. More importantly, there are a lot of typos and obvious bugs in the Python code examples used throughout the book. I would recommend the author follow in the footsteps of The Pragmatic Programmer and ensure that all the code in his book actually compiles and runs.
15 von 15 Kunden fanden die folgende Rezension hilfreich
Made concrete improvements to the way I work with Python every day 11. Januar 2009
Von J. Hartley - Veröffentlicht auf Amazon.com
Format:Taschenbuch
[Publisher Packt were nice enough to send me a copy of this, so I'm completely biased, but fortunately I really liked it.]

I've been using Python for a couple of years now, but only on a single project, so while there are parts of it that I know very well, there is doubtlessly a lack of cross-fertilisation in the things I am exposed to. So I was looking forward to this book.

Surprisingly, for such a straightforward-sounding title, it is not at all what I expected.

What I expected was analyses and illustrations of using Python's more powerful features: dynamic designs; creating classes on the fly; functional programming styles; closures and metaclasses.

Sure enough, there is an early couple of chapters devoted to advanced language features. First up, iterators, and generator expressions, and then the .send, .throw and .close methods on a generator, which induce the yield statement to return values or raise exceptions. This is then used to handily illustrate coroutines as a method of co-operative multi-tasking without the calamity involved with getting all multi-threaded. It's exactly the sort of feature I'd pondered writing for myself for a personal project, oblivious that the language provides it out of the box.

Other low-level topics covered include the indispensable itertools module, interesting uses of function decorators, best practices for subclassing built-in types, sensible use of descriptors and properties, understanding method resolution order and using super, the often-overlooked slots, and finally meta-programming and metaclasses.

Interestingly, this list has only one item of overlap with my expectations. Tarek has done a good job of choosing important but sometimes overlooked topics, and while, inevitably, I was very familiar with some of the things he talked about, other sections were complete revelations for me.

However, this is only chapters 2 and 3! The rest of the book expands in scope beyond Python the language, to look at the environments and tools that make up the Python ecosystem. In a way, this sounded less intriguing to me than the computer-science oriented exploration of language features that I had expected. But having finished the book, I now realise that it was exactly what I needed.

The opening chapter goes through installing Python - a topic which I didn't think needed discussion. But Tarek goes on to cover using MinGW and MSYS to set up a credible command-line environment under Windows. I've always used Cygwin for this in the past, and trying out MSYS (coupled with the project Console) is a breath of fresh air.

This cross-platform development environment is then rounded out a little by installing and using things like setuptools, and some thoughtful notes on integrating Python development into editors like Vim and Emacs, or an IDE like Eclipse.

The rest of the book covers some of the major tools in the Python world.

I've never previously been forced to get to grips with Distutils. Applying lessons from the book to a personal project got me completely up to speed with using Distutils to create packages, making source and binary distributions, using eggs, and distributing dependant packages that together make up an application. The only thing really missing from this is maybe generating stand-alone executables using py2exe (for Windows) or py2app (for Macs), although this idea is mentioned in passing.

The following chapters give competent overviews of a wide variety of topics:

8. Version control systems: centralised, illustrated by Subversion, or distributed like Mercurial. Continuous integration using Buildbot. Presumably you will either already know these inside-out or else will lap them up hungrily.

9. Waterfall, spiral and iterative project life cycles. I'm not sure that waterfall is really used by anyone except in case studies of `what not to do', and I'm also not sure how you could be a developer without being aware of this, but maybe that's precisely the point: You can't be a developer if you don't do this. This chapter then covers setting up an instance of Trac and using it to manage a project's deliverables, defects, and milestones.

10. Documenting a project using ReStructuredText and Sphinx, and including hints on good technical writing. This caused me to completely revamp the content of my small personal project's documentation, and as a result it is both much improved, and shorter to boot. Wins all round.

11. Test-Driven Development. This chapter would be a superb overview of the topic for someone who didn't know about TDD. Although I use TDD extensively at work, I've never used nose, fearing that getting to grips with it might be too intrusive or disruptive. In fact, it is seamless to begin using it in a small way and slowly extend into its more advanced features as and when you need them.

12. Optimisation : General principles (ie. don't) and profiling techniques. I had never used the cProfile module described here, having just whipped up homespun profilers on-the-spot whenever I needed them, and it's a valuable addition to my arsenal.

13. Optimisation : Solutions. Big O notation. Correct use of different collection types. Multi-threading, multi-processing, caching. Not much that is tremendously new to me here, but it is obviously a huge topic to cover in a a single chapter, and it covers the bases competently.

14. Design Patterns, and how they apply (or don't) to Python. It has been said that design patterns, as fundamental and necessary as they are to a software engineers mindset, are a symptom a language's lack of expressivity. You shouldn't have to write huge gobs of code to express simple conceptual relationships. Although Tarek never explicitly says this, to some extent it is born out by this chapter. Trivial (and much-maligned) ideas like the Singleton, after a page or two of alternate implementations, boil down to simply `use a module', i.e. zero lines of code. Slightly more complex patterns such as Visitor, are only a few lines. It is still useful to discuss and name patterns, but on the whole reference implementations are so trivial as to be unnecessary, except perhaps as the most concise and precise method of illustration.

The book overall, then, is a grab-bag of different topics. Each chapter could clearly be expanded into one or more whole books. As a result, no part can be covered in very great depth, but Tarek does an admirable job of getting the reader up to speed enough in each area that they can be self-sufficient and direct their own learning from that point.

It's worth noting the the book is based on Python 2.x, buy because of the high-level approach, this scarcely matters. Get a different book if you need to know about the language syntax and features. Get this to find out how to create and distribute Python projects.

As as result of the broad scope of the book it serves as a brilliant annotated laundry list of `things the Python developer ought to know'. While there will doubtlessly be some sections that you are already deeply familiar with, if you have any interest in discovering your own deficiencies as a Python programmer, I can highly recommend it.
Kundenrezensionen suchen
Nur in den Rezensionen zu diesem Produkt suchen

Kunden diskutieren

Das Forum zu diesem Produkt
Diskussion Antworten Jüngster Beitrag
Noch keine Diskussionen

Fragen stellen, Meinungen austauschen, Einblicke gewinnen
Neue Diskussion starten
Thema:
Erster Beitrag:
Eingabe des Log-ins
 


Aktive Diskussionen in ähnlichen Foren
Kundendiskussionen durchsuchen
Alle Amazon-Diskussionen durchsuchen
   
Ähnliche Foren


Ähnliche Artikel finden


Anhand des Sachgebietes nach ähnlichen Produkten suchen: