دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نویسی: زبان های برنامه نویسی ویرایش: 2 نویسندگان: Tarek Ziade سری: ISBN (شابک) : 9782212124835, 221212483X ناشر: Eyrolles سال نشر: 2009 تعداد صفحات: 594 زبان: French فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 3 مگابایت
در صورت تبدیل فایل کتاب Programmation Python به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب برنامه نویسی پایتون نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
پایتون برای توسعه برنامههای کاربردی وب ایدهآل است: سرورهای محتوا، موتورهای جستجو، عوامل هوشمند، اشیاء توزیعشده... همچنین برای ایجاد اسکریپتهای مدیریت سیستم یا برای تجزیه و تحلیل فایلهای متنی، برای مدیریت دسترسی به پایگاههای داده، به عنوان چسب کارآمد است. زبان بین چندین برنامه، برای ایجاد برنامه های گرافیکی کلاسیک و غیره. با این حال، توسعه دهنده واقعاً تنها با به دست آوردن فرهنگ خاصی از قدرت خود استفاده می کند. این چیزی است که این کتاب به شما امکان می دهد با توصیف تکنیک های اثبات شده در تمام پروژه های توسعه اصلی در پایتون به دست آورید. فراتر از شروع کار (نصب محیطهای زمان اجرا و توسعه، یادآوری نحو با اصول اولیه و کتابخانه استاندارد)، این کتاب شیوههای خوب توسعه پایتون، از نامگذاری قراردادها و الگوهای طراحی رایجترین برنامهنویسی مبتنی بر شی تا آزمایش و بهینهسازی کد را پوشش میدهد. این نسخه به روز شده برای Python 2.6 که با موارد استفاده و تمرین های جدید غنی شده است، اسکریپت مهاجرت 2to3 به پایتون 3 را نیز شرح می دهد و کتابخانه ctypes را ارائه می دهد که به شما امکان می دهد ساختارهای داده را در C/C++ دستکاری کنید.
Python est tout indiqué pour le développement d'applications web : serveurs de contenu, moteurs de recherche, agents intelligents, objets distribués... Il est également performant pour réaliser des scripts d'administration système ou d'analyse de fichiers textuels, pour gérer l'accès à des bases de données, pour servir de langage glu entre plusieurs applications, réaliser des applications graphiques classiques, etc. Pour autant, le développeur n'exploitera vraiment sa puissance qu'en ayant acquis une certaine culture. C'est ce que ce livre permet d'acquérir par la description de techniques éprouvées dans tous les grands projets de développement en Python. Au-delà de la prise en main (installation des environnements d'exécution et de développement, rappels de syntaxe avec les primitives et la bibliothèque standard), cet ouvrage aborde les bonnes pratiques de développement Python, depuis les conventions de nommage et les design patterns objet les plus courants jusqu'à la programmation dirigée par les tests et l'optimisation de code. Enrichie en nouveaux cas pratiques et exercices, cette édition mise à jour pour Python 2.6 détaille également le script de migration 2to3 vers Python 3 et présente la bibliothèque ctypes qui permet de manipuler les structures de données en C/C++.
Choisir Python......Page 8
Table des matières......Page 12
Pourquoi ce livre ?......Page 32
À qui s’adresse l’ouvrage ?......Page 33
Remerciements......Page 34
Première partie - Découverte de Python......Page 38
Python ?......Page 40
Portable......Page 41
Hautement productif......Page 42
Python et les autres langages......Page 43
Ruby, PHP, Java.........Page 44
2 - Python pour quels usages ?......Page 46
Manipuler des fichiers et des dossiers......Page 47
Manipuler des programmes......Page 48
Envoyer et recevoir des courriers électroniques......Page 50
Échanger des informations avec d’autres systèmes......Page 52
Syntaxe......Page 54
Structures de données......Page 55
Manipulation de texte......Page 56
Objectif d’une maquette......Page 57
Maquette d’interfaces......Page 58
Exemple de prototype de bibliothèque......Page 59
Création ou utilisation d’outils spécialisés......Page 61
Conception d’interface utilisateur......Page 62
Sérialisation des objets......Page 63
Les bases de données relationnelles......Page 65
Applications web......Page 66
En un mot.........Page 67
Installation sous Linux......Page 68
Paquets Debian......Page 69
Compilation des sources......Page 70
Options de compilation......Page 71
Compilation et installation de Python......Page 73
Installation sous MS-Windows......Page 74
Premiers tests de Python en mode interactif......Page 76
Script de démarrage du mode interactif......Page 77
Le choix d’un éditeur......Page 78
La coloration syntaxique......Page 79
L’autocomplétion......Page 80
Les plates-formes reconnues......Page 81
En un mot.........Page 83
Deuxième partie - Éléments du langage......Page 84
4 - Syntaxe du langage......Page 86
print devient fonction......Page 87
Modèle de données......Page 89
Littéraux alphanumériques......Page 91
Normes ASCII et Unicode......Page 92
Évolution de l’Unicode de Python 2 à Python 3......Page 93
Caractères spéciaux......Page 94
Littéraux numériques......Page 95
Littéraux pour les entiers......Page 96
Littéraux pour les valeurs à virgule flottante......Page 98
Les types standards......Page 99
NotImplemented......Page 100
Les nombres entiers......Page 101
Les nombres à virgule flottante......Page 102
Les séquences......Page 103
Les séquences immuables......Page 104
Les séquences modifiables......Page 109
Les mappings......Page 113
Opérateurs de base......Page 118
Modulo......Page 119
Appartenance......Page 120
Opérateurs de comparaison......Page 122
Ordre de traitement des opérations......Page 123
L’indentation......Page 124
Les structures conditionnelles......Page 125
L’instruction for..in......Page 126
L’instruction while......Page 128
L’instruction with......Page 129
En un mot.........Page 132
Fonctions......Page 134
Contexte d’exécution et directive global......Page 135
Directive return......Page 136
Paramètres explicites et valeurs par défaut......Page 137
Les paramètres non explicites......Page 139
Les paramètres arbitraires......Page 140
Signatures multiples de fonctions......Page 141
Documentation strings (docstrings)......Page 142
Decorators......Page 143
Définition......Page 148
Espace de noms......Page 149
Héritage......Page 150
Héritage multiple......Page 151
Surcharge des attributs......Page 152
Constructeur et destructeur......Page 153
Attributs privés......Page 154
Représentation et comparaison de l’objet......Page 156
Accès aux attributs de l’objet......Page 158
Utilisation de l’objet comme conteneur......Page 159
Utilisation de l’objet comme type numérique......Page 161
New-style classes......Page 163
Le nouveau Method Resolution Order......Page 164
Constructeur statique......Page 165
Surcharge de type() par metaclass......Page 166
Descriptors......Page 167
Properties......Page 168
Slots......Page 169
Modules......Page 170
Directive import......Page 171
Primitive reload......Page 172
Directives from et as......Page 173
Organisation d’un paquet......Page 174
Import * et __all__......Page 175
Exceptions......Page 176
Exceptions du langage......Page 177
Classes d’exceptions de base......Page 178
try..except..else......Page 179
try..except..finally......Page 181
Les list comprehensions......Page 182
Iterators......Page 184
Generators......Page 185
Generator expression (genexp)......Page 186
En un mot.........Page 187
6 - Les primitives......Page 188
__import__ : __import__(nom, globals={}, locals={}, fromlist=[], level=- 1) -> module......Page 189
any : any(iterable) -> booléen......Page 190
classmethod : classmethod(fonction) -> méthode......Page 191
coerce : coerce(x, y) -> (x1, y1)......Page 193
compile : compile(source, fichier, mode[, flags[, dont_inherit]]) -> objet code......Page 194
dir : dir([objet]) -> liste d’attributs......Page 195
eval : eval(source[, globals[, locals]]) -> valeur......Page 197
file : file(nom[, mode[, buffering]]) -> objet file......Page 198
filter : filter(fonction ou None, séquence) -> list, tuple, ou string......Page 200
globals : globals() -> dictionnaire......Page 201
help : Fonction d’aide en ligne......Page 202
id : id(objet) -> entier......Page 203
intern: intern(string) -> string......Page 204
issubclass : issubclass(C, B) -> bool......Page 205
len : len(objet) -> entier......Page 206
license : license() -> prompt interactif......Page 207
map : map(fonction, séquence[, séquence...]) -> liste......Page 208
min : min(séquence) -> valeur......Page 209
ord : ord(caractère) -> entier......Page 210
property : property(fget=None, fset=None, fdel=None, doc=None) -> attribut propriété......Page 211
range : range([start,] stop[, step]) -> liste d’entiers......Page 212
raw_input : raw_input([prompt]) -> string......Page 213
repr : repr(objet) -> représentation......Page 214
set : set(iterable) -> objet de type set......Page 215
slice : slice([start,] stop[, step])......Page 216
sorted : sorted(iterable, cmp=None, key=None, reverse=False) -> liste triée......Page 217
staticmethod : staticmethod(fonction) -> méthode statique......Page 218
sum : sum(sequence, start=0) -> valeur......Page 219
super : super(type, objet) -> objet super lié à l’objet......Page 220
type : type(nom, bases, dict) -> nouveau type......Page 221
unicode : unicode(string [, encoding[, errors]]) -> objet......Page 222
zip : zip(seq1 [, seq2 […]]) -> [(seq1[0], seq2[0]...), (...)]......Page 223
AssertionError......Page 224
IOError......Page 225
KeyError......Page 226
NotImplementedError......Page 227
SyntaxError......Page 228
TypeError......Page 229
UnicodeDecodeError......Page 230
Avertissements......Page 231
PendingDeprecationWarning......Page 232
En un mot.........Page 233
7 - Conventions de codage......Page 234
Taille maximum d’une ligne......Page 235
Commentaires......Page 236
Blocs de commentaires......Page 237
Documentation strings ou docstrings......Page 238
Espacement du code......Page 239
Espaces dans les expressions et définitions......Page 240
Conventions de nommage......Page 241
Modules......Page 242
Fonctions et variables globales d’un module, méthodes et attributs d’une classe......Page 243
Encodage......Page 244
Docstring de module......Page 245
Les jokers......Page 246
Organisation des clauses......Page 247
Structuration d’une classe......Page 248
Du sens......Page 249
Modules......Page 250
Méthodes et fonctions......Page 251
En un mot.........Page 252
Troisième partie - La bibliothèque standard......Page 254
8 - Principaux modules......Page 256
exit()......Page 257
platform......Page 258
Accès au système......Page 259
Opérations sur les descripteurs de fichiers......Page 260
Manipulation des fichiers et répertoires......Page 262
Manipulation des processus......Page 270
Informations sur le système......Page 276
class Popen......Page 278
os.path......Page 280
platform......Page 282
copytree(src, dst[, symlinks [, ignore]])......Page 284
move(src, dst)......Page 285
class dircmp(a, b[, ignore[, hide]]) -> instance......Page 286
class GzipFile([filename[, mode[, compresslevel[, fileobj]]]])......Page 288
open(fichier[, mode[, compresslevel]])......Page 289
class ZipFile(fichier[, mode[, compression]])......Page 291
Programmation réseau......Page 293
urllib2......Page 294
ftplib......Page 297
En un mot.........Page 300
Persistance......Page 302
load(fichier) -> objet......Page 303
loads(chaîne [, protocole]) -> objet......Page 304
shelve......Page 305
open(nom_fichier[, flag[, protocole[, writeback]]])......Page 306
b64decode(chaîne[, altchars]) -> chaîne......Page 307
haslib.md5......Page 308
hashlib.sha......Page 309
fonctions de conversion......Page 310
fonctions trigonométriques......Page 311
constantes......Page 312
array(typecode[, initializer]) -> tableau......Page 313
abc......Page 315
Le type deque......Page 318
Le type defaultdict......Page 319
Les Abstract Base Classes......Page 321
class Decimal([value [, context]])......Page 322
Utilitaires divers......Page 323
atexit......Page 324
Le mode pas-à-pas......Page 325
Alias et fichier .pdbrc......Page 329
Le mode post mortem......Page 330
getpass......Page 331
copy......Page 332
Affichage des différences......Page 333
Restauration......Page 335
UTC/GMT......Page 336
Fonctions de manipulation......Page 337
Formatage des dates......Page 338
class timedelta(weeks, days, minutes, hours, seconds, microsecondes, milliseconds)......Page 340
class date......Page 341
class time......Page 343
random......Page 345
En un mot.........Page 346
chain(*itérables) -> itérateur......Page 348
cycle(itérable) -> itérateur......Page 349
groupby(itérable[, keyfunc]) -> itérateur......Page 350
ifilterfalse(prédicate, itérable) -> itérateur......Page 351
izip(*itérables) -> itérateur......Page 352
starmap(fonction, séquence) -> itérateur......Page 353
Expressions régulières ?......Page 354
Symboles simples......Page 356
Symboles de répétition......Page 358
Symboles de regroupement......Page 360
Exemples plus complets......Page 361
Fonctions et objets de re......Page 362
La classe Tk......Page 365
Les widgets de base de Tkinter......Page 366
Positionnement d’un widget......Page 367
Options et méthodes d’un widget......Page 368
Binding d’événements......Page 376
Application type avec Tkinter......Page 378
Le module lib2to3 et le script 2to3......Page 380
En un mot.........Page 382
Mode d’emploi du chapitre......Page 384
Solution......Page 385
Discussion......Page 386
Description......Page 388
Discussion......Page 389
Description......Page 390
Discussion......Page 391
Extension......Page 392
Solution......Page 393
Extension......Page 394
Solution......Page 395
Discussion......Page 396
Solution......Page 397
Solution......Page 398
Discussion......Page 399
Extension......Page 400
Solution......Page 401
Extension......Page 405
Solution......Page 406
Extension......Page 408
Solution......Page 409
Discussion......Page 410
Description......Page 411
Description......Page 412
Solution......Page 413
Discussion......Page 415
Solution......Page 416
Discussion......Page 418
Solution......Page 419
Discussion......Page 420
En un mot.........Page 421
Quatrième partie - Techniques avancées......Page 422
12 - Programmation dirigée par les tests......Page 424
Barrière culturelle......Page 425
Tests unitaires......Page 426
Construction d’un test unitaire......Page 427
Évolution des use cases......Page 428
Non-régression......Page 429
Tests plus complexes : raconter une histoire......Page 431
Les bouchons......Page 432
Qualité des tests......Page 437
Tests de l’interface......Page 438
Dépendance forte à l’outil utilisé et au type d’interface......Page 439
unittest......Page 440
Définition des test cases......Page 441
Organisation d’une campagne de tests......Page 444
Exécution des doctests......Page 448
Syntaxe des doctests......Page 449
Environnement et options d’exécution......Page 452
doctests dans un fichier texte séparé......Page 457
Script de test......Page 460
Coverage......Page 461
Intégration dans l’environnement d’un projet......Page 464
Le futur de PyUnit......Page 465
En un mot.........Page 467
13 - Bonnes pratiques et optimisation du code......Page 468
Profiling......Page 469
Le module profile......Page 470
Le module hotshot......Page 471
Le module cProfile......Page 472
Le module pstats......Page 473
hotshot et pstats......Page 474
timeit......Page 475
Amélioration des performances......Page 477
Trier des valeurs......Page 478
Concaténer des chaînes......Page 481
Remplacer certains tests par une gestion d’exception......Page 482
Minimiser les appels et rapprocher le code......Page 483
Utiliser les list comprehensions......Page 485
Préférer les fonctions d’itertools......Page 486
Caching......Page 487
Ressources partagées : difficultés de programmation......Page 489
Le module threading......Page 491
Le module Queue......Page 499
Le Global Interpreter Lock et multiprocessing......Page 500
Environnement de compilation......Page 501
Binding de bibliothèque......Page 502
Création d’un module d’extension......Page 506
Optimisation de l’utilisation de mémoire vive......Page 512
Économie de mémoire......Page 513
Psyco......Page 514
Cython......Page 516
Les tests de performance continus......Page 517
Tests de performance ciblés......Page 518
decorator timed......Page 519
En un mot.........Page 522
Principes généraux......Page 524
Typage de Liskov......Page 525
Encapsulation......Page 527
Héritage......Page 529
Polymorphisme......Page 530
Duck typing et interfaces......Page 532
Relations entre objets......Page 533
Relation multiple......Page 534
Héritage multiple......Page 535
Garbage collecting......Page 536
Patterns de génération d’objets......Page 537
Singleton et Borg......Page 538
Factory......Page 541
Visitor......Page 542
Observer......Page 544
Memento......Page 547
Chain of responsibility......Page 550
State......Page 553
Adapter......Page 555
Facade......Page 557
Proxy......Page 558
En un mot.........Page 559
Environnement de développement......Page 560
Indentation du code......Page 561
Le projet Amoeba......Page 562
PythonLabs et BeOpen.com......Page 563
Python et Zope......Page 564
B - Bibliothèques tierces......Page 568
Installer une bibliothèque externe......Page 569
Utilisation de setuptools......Page 570
mysql-python......Page 572
Traitement de texte......Page 573
Packaging, distribution......Page 574
guitest......Page 575
Win32 Extensions......Page 576
PyGTK......Page 577
reStructuredText......Page 578
vpython......Page 579
Bibliothèques scientifiques......Page 580
Web......Page 581
Flux RSS......Page 582
Blogs......Page 583
Sites......Page 584
C......Page 586
E......Page 587
I......Page 588
M......Page 589
P......Page 590
S......Page 591
V......Page 592
Z......Page 593