Think Python : how to think like a computer scientist / Allen B. Downey.
Material type:
TextPublisher: Navi Mumbai : Shroff Publishers & Distributors (O'Reilly)., 2024Edition: 3/eDescription: xvii, 306 pages : illustrations ; 24 cmContent type: - text
- unmediated
- volume
- 9789355424730
- 005.133 DOW
| Item type | Current library | Collection | Call number | Copy number | Status | Notes | Date due | Barcode | Item holds | |
|---|---|---|---|---|---|---|---|---|---|---|
Books
|
IIT Goa Central Library General Stacks | Technical | 005.133 DOW (Browse shelf(Opens below)) | 1 | Available | RG/2627/256||29-07-2026||20.00% | 4725 |
Includes index
Chapter 1 : Programming as a Way of Thinking -- Arithmetic Operators -- Expressions -- Arithmetic Functions -- Strings -- Values and Types -- Formal and Natural Languages -- Debugging -- Chapter 2 : Variables and Statements -- Variables -- State Diagrams -- Variable Names -- The import Statement -- Expressions and Statements -- The print Function -- Arguments -- Comments -- Debugging -- Chapter 3 : Functions -- Defining New Functions -- Parameters -- Calling Functions -- Repetition -- Variables and Parameters Are Local -- Stack Diagrams -- Tracebacks -- Why Functions? -- Debugging -- Chapter 4 : Functions and Interfaces -- The jupyturtle Module -- Making a Square -- Encapsulation and Generalization -- Approximating a Circle -- Refactoring -- Stack Diagram -- A Development Plan -- Docstrings -- Debugging -- Chapter 5 : Conditionals and Recursion -- Integer Division and Modulus -- Boolean Expressions -- Logical Operators -- if Statements -- The else Clause -- Chained Conditionals -- Nested Conditionals -- Recursion -- Stack Diagrams for Recursive Functions -- Infinite Recursion -- Keyboard Input -- Debugging -- Chapter 6 : Return Values -- Some Functions Have Return Values -- And Some Have None -- Return Values and Conditionals -- Incremental Development -- Boolean Functions -- Recursion with Return Values -- Leap of Faith -- Fibonacci -- Checking Types -- Debugging -- Chapter 7 : Iteration and Search -- Loops and Strings -- Reading the Word List -- Updating Variables -- Looping and Counting -- The in Operator -- Search -- Doctest -- Chapter 8 : Strings and Regular Expressions -- A String Is a Sequence -- String Slices -- Strings Are Immutable -- String Comparison -- String Methods -- Writing Files -- Find and Replace -- Regular Expressions -- String Substitution -- Debugging -- Chapter 9 : Lists -- A List Is a Sequence -- Lists Are Mutable -- List Slices -- List Operations -- List Methods -- Lists and Strings -- Looping Through a List -- Sorting Lists -- Objects and Values -- Aliasing -- List Arguments -- Making a Word List -- Debugging --
Chapter 10 : Dictionaries -- A Dictionary Is a Mapping -- Creating Dictionaries -- The in Operator -- A Collection of Counters -- Looping and Dictionaries -- Lists and Dictionaries -- Accumulating a List -- Memos -- Debugging -- Chapter 11 : Tuples -- Tuples Are Like Lists -- But Tuples Are Immutable -- Tuple Assignment -- Tuples as Return Values -- Argument Packing -- Zip -- Comparing and Sorting -- Inverting a Dictionary -- Debugging -- Chapter 12 : Text Analysis and Generation -- Unique Words -- Punctuation -- Word Frequencies -- Optional Parameters -- Dictionary Subtraction -- Random Numbers -- Bigrams -- Markov Analysis -- Generating Text -- Debugging -- Chapter 13 : Files and Databases -- Filenames and Paths -- f-strings -- YAML -- Shelve -- Storing Data Structures -- Checking for Equivalent Files -- Walking Directories -- Debugging -- Chapter 14 : Classes and Functions -- Programmer-Defined Types -- Attributes -- Objects as Return Values -- Objects Are Mutable -- Copying -- Pure Functions -- Prototype and Patch -- Design-First Development -- Debugging -- Chapter 15 : Classes and Methods -- Defining Methods -- Another Method -- Static Methods -- Comparing Time Objects -- The __str__ Method -- The __init__ Method -- Operator Overloading -- Debugging -- Chapter 16 : Classes and Objects -- Creating a Point -- Creating a Line -- Equivalence and Identity -- Creating a Rectangle -- Changing Rectangles -- Deep Copy -- Polymorphism -- Debugging -- Chapter 17 : Inheritance -- Representing Cards -- Card Attributes -- Printing Cards -- Comparing Cards -- Decks -- Printing the Deck -- Add, Remove, Shuffle, and Sort -- Parents and Children --Specialization -- Debugging -- Chapter 18 : Python Extras -- Sets -- Counters -- defaultdict -- Conditional Expressions -- List Comprehensions -- any and all -- Named Tuples -- Packing Keyword Arguments -- Debugging -- Chapter 19 : Final Thoughts
Python is an excellent way to get started in programming, and this clear, concise guide walks you through Python a step at a time--beginning with basic programming concepts before moving on to functions, data structures, and object-oriented design. This revised third edition reflects the growing role of large language models (LLMs) in programming and includes exercises on effective LLM prompts, testing code, and debugging skills. -- Provided by publisher.