Search and Find

Book Title

Author/Publisher

Table of Contents

Show eBooks for my device only:

 

Dive Into Python 3

of: Mark Pilgrim

Apress, 2010

ISBN: 9781430224167 , 403 Pages

2. Edition

Format: PDF, Read online

Copy protection: DRM

Windows PC,Mac OSX,Windows PC,Mac OSX geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Read Online for: Windows PC,Mac OSX,Linux

Price: 66,99 EUR



More of the content

Dive Into Python 3


 

Title page

2

Copyright Page

3

Contents at a Glance

5

Table of Contents

6

Foreword

14

About the Author

16

About the Technical Reviewer

17

Acknowledgments

18

Installing Python

19

Which Python Is Right for You?

19

Installing on Microsoft Windows

20

Installing on Mac OS X

29

Installing on Ubuntu Linux

41

Installing on Other Platforms

48

Using the Python Shell

48

Python Editors and IDEs

50

CHAPTER 1 Your First Python Program

52

Declaring Functions

53

Optional and Named Arguments

54

Writing Readable Code

56

Documentation Strings

56

The import Search Path

57

Everything Is an Object

58

What’s an Object?

59

Indenting Code

59

Exceptions

60

Catching Import Errors

62

Unbound Variables

63

Running Scripts

63

Further Reading Online

64

CHAPTER 2 Native Datatypes

65

Booleans

65

Numbers

66

Coercing Integers to Floats and Vice Versa

67

Common Numerical Operations

68

Fractions

69

Trigonometry

70

Numbers in a Boolean Context

70

Lists

71

Creating a List

71

Slicing a List

72

Adding Items to a List

73

Searching For Values in a List

75

Removing Items from a List

76

Removing Items from a List: Bonus Round

76

Lists in a Boolean Context

77

Tuples

78

Tuples in a Boolean Context

80

Assigning Multiple Values at Once

80

Sets

81

Modifying a Set

83

Removing Items from a Set

84

Common Set Operations

85

Sets in a Boolean Context

87

Dictionaries

88

Creating a Dictionary

88

Modifying a Dictionary

88

Mixed-Value Dictionaries

89

Dictionaries in a Boolean Context

90

None

91

None in a Boolean Context

91

Further Reading Online

92

CHAPTER 3 Comprehensions

93

Working With Files and Directories

93

The Current Working Directory

93

Working with Filenames and Directory Names

94

Listing Directories

96

Getting File Metadata

97

Constructing Absolute Pathnames

97

List Comprehensions

98

Dictionary Comprehensions

100

Fun with Dictionary Comprehensions

101

Set Comprehensions

101

Further Reading Online

102

CHAPTER 4 Strings

103

Unicode

104

Diving In

106

Formatting Strings

106

Compound Field Names

107

Format Specifiers

109

Other Common String Methods

110

Slicing a String

111

Strings versus Bytes

112

Character Encoding of Python Source Code

115

Further Reading Online

116

CHAPTER 5 Regular Expressions

118

Case Study: Street Addresses

118

Case Study: Roman Numerals

120

Checking for Thousands

121

Checking for Hundreds

122

Using the {n,m} Syntax

124

Checking for Tens and Ones

125

Verbose Regular Expressions

127

Case Study: Parsing Phone Numbers

129

Further Reading Online

134

CHAPTER 6 Closures and Generators

135

I Know, Let’s Use Regular Expressions!

136

A List of Functions

138

A List of Patterns

140

A File of Patterns

143

Generators

144

A Fibonacci Generator

146

A Plural Rule Generator

147

Further Reading Online

148

CHAPTER 7 Classes and Iterators

149

Defining Classes

150

The __init__() Method

150

Instantiating Classes

151

Instance Variables

152

A Fibonacci Iterator

153

A Plural Rule Iterator

155

Further Reading Online

160

CHAPTER 8 Advanced Iterators

161

Finding All Occurrences of a Pattern

163

Finding the Unique Items in a Sequence

163

Making Assertions

165

Generator Expressions

165

Calculating Permutations … the Lazy Way

167

Other Fun Stuff in the itertools Module

168

A New Kind of String Manipulation

172

Evaluating Arbitrary Strings as Python Expressions

174

Putting It All Together

178

Further Reading Online

178

CHAPTER 9 Unit Testing

179

A Single Question

180

Halt and Catch Fire

186

More Halting, More Fire

189

And One More Thing …

192

A Pleasing Symmetry

194

More Bad Input

198

CHAPTER 10 Refactoring

202

Handling Changing Requirements

205

Refactoring

209

Further Reading Online

213

CHAPTER 11 Files

214

Reading from Text Files

214

Character Encoding Rears Its Ugly Head

215

Stream Objects

216

Reading Data from a Text File

217

Closing Files

219

Closing Files Automatically

220

Reading Data One Line at a Time

220

Writing to Text Files

222

Character Encoding Again

223

Binary Files

224

Streams Objects from Nonfile Sources

225

Handling Compressed Files

226

Standard Input, Output, and Error

227

Redirecting Standard Output

228

Further Reading Online

231

CHAPTER 12 XML

232

A 5-Minute Crash Course in XML

233

The Structure of an Atom Feed

236

Parsing XML

238

Elements Are Lists

239

Attributes Are Dictionaries

240

Searching for Nodes Within an XML Document

241

Going Further with lxml

244

Generating XML

246

Parsing Broken XML

249

Further Reading Online

251

CHAPTER 13 Serializing Python Objects

252

A Quick Note About the Examples in this Chapter

252

Saving Data to a Pickle File

253

Loading Data from a Pickle File

255

Pickling Without a File

256

Bytes and Strings Rear Their Ugly Heads Again

257

Debugging Pickle Files

257

Serializing Python Objects to be Read by Other Languages

260

Saving Data to a JSON File

260

Mapping Python Datatypes to JSON

262

Serializing Datatypes Unsupported by JSON

262

Loading Data from a JSON File

267

Further Reading Online

269

CHAPTER 14 HTTP Web Services

271

Features of HTTP

272

Caching

272

Last-Modified Checking

273

ETags

274

Compression

275

Redirects

275

How Not to Fetch Data Over HTTP

276

What’s On the Wire?

277

Introducing httplib2

280

Caching with httplib2

283

Handling Last-Modified and ETag Headers with httplib2

286

Handling Compression with httplib2

288

Handling Redirects with httplib2

289

Beyond HTTP GET

292

Beyond HTTP POST

296

Further Reading Online

298

CHAPTER 15 Case Study: Porting chardet to Python 3

299

What Is Character Encoding Auto-Detection?

299

Why Auto-Detection Is Difficult

299

Auto-Encoding Algorithms

300

Introducing the chardet Module

300

UTF-n with a BOM

300

Escaped Encodings

300

Multibyte Encodings

301

Single-Byte Encodings

301

windows-1252

302

Running 2to3

302

A Short Digression Into Multi-File Modules

305

Fixing What 2to3 Can’t

307

False Is Invalid Syntax

307

No Module Named Constants

308

Name 'file' Is Not Defined

309

Can’t Use a String Pattern on a Bytes-Like Object

310

Can’t Convert 'bytes' Object to str Implicitly

312

Unsupported Operand type(s) for +: 'int' and 'bytes'

315

ord() Expected String of Length 1, but int Found

316

Unorderable Types: int() >= str()

319

Global Name 'reduce' Is not Defined

321

Lessons Learned

323

CHAPTER 16 Packaging Python Libraries

324

Things Distutils Can’t Do for You

325

Directory Structure

326

Writing Your Setup Script

327

Classifying Your Package

329

Examples of Good Package Classifiers

329

Checking Your Setup Script for Errors

332

Creating a Source Distribution

332

Creating a Graphical Installer

334

Building Installable Packages for Other Operating Systems

335

Adding Your Software to the Python Package Index

336

The Many Possible Futures of Python Packaging

337

Further Reading Online

338

APPENDIX A Porting Code to Python 3 with 2to3

339

print Statement

339

Unicode String Literals

340

unicode() Global Function

340

long Datatype

341

<> Comparison

341

has_key() Dictionary Method

342

Dictionary Methods that Return Lists

343

Renamed or Reorganized Modules

343

http

344

urllib

344

dbm

345

xmlrpc

346

Other Modules

346

Relative Imports Within a Package

348

next() Iterator Method

349

filter() Global Function

350

map() Global Function

350

reduce() Global Function

351

apply() Global Function

352

intern() Global Function

352

exec Statement

353

execfile Statement

353

repr Literals (Backticks)

354

try...except Statement

354

raise Statement

356

throw Method on Generators

356

xrange() Global Function

357

raw_input() and input() Global Functions

358

func_* Function Attributes

358

xreadlines() I/O Method

359

lambda Functions that Take a Tuple Instead of Multiple Parameters

360

Special Method Attributes

361

__nonzero__ Special Method

361

Octal Literals

362

sys.maxint

362

callable() Global Function

363

zip() Global Function

363

StandardError Exception

363

types Module Constants

364

isinstance() Global Function

365

basestring Datatype

365

itertools Module

366

sys.exc_type, sys.exc_value, sys.exc_traceback

366

List Comprehensions Over Tuples

367

os.getcwdu() Function

367

Metaclasses

367

Matters of Style

368

set() Literals (Explicit)

368

buffer() Global Function (Explicit)

368

Whitespace Around Commas (Explicit)

369

Common Idioms (Explicit)

369

APPENDIX B Special Method Names

371

Basics

371

Classes that Act Like Iterators

372

Computed Attributes

372

Classes that Act Like Functions

375

Classes that Act Like Sequences

376

Classes that Act Like Dictionaries

378

Classes that Act Like Numbers

379

Classes that Can Be Compared

383

Classes that Can Be Serialized

384

Classes that Can Be Used in a “with” Block

384

Really Esoteric Stuff

386

Further Reading Online

387

APPENDIX C Where to Go From Here

388

Index

390