Thư viện Trường Đại học Phú Xuân
Think Python - How to Think Like a Computer Scientist (Downey)

Nguồn ngoài

Think Python - How to Think Like a Computer Scientist (Downey)

Think Python is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters.

Tác giả
Allen B. Downey
Nhà xuất bản
Olin College
Nguồn
LibreTexts
Giấy phép
CC BY-NC-SA
Ngôn ngữ
EN
Danh mục
Công nghệ thông tin
Mục lục· 249 mục
  1. 01: Lists
  2. 1.01: A List Is a Sequence
  3. 1.02: Lists Are Mutable
  4. 1.03: Traversing a List
  5. 1.04: List Operations
  6. 1.05: List Slices
  7. 1.06: List Methods
  8. 1.07: Map Filter and Reduce
  9. 1.08: Deleting Elements
  10. 1.09: Lists and Strings
  11. 1.10: Objects and Values
  12. 1.11: Aliasing
  13. 1.12: List Arguments
  14. 1.13: Debugging
  15. 1.14: Glossary
  16. 1.15: Exercises
  17. 02: Dictionaries
  18. 2.01: Introduction
  19. 2.02: Dictionary as a Set of Counters
  20. 2.03: Looping and Dictionaries
  21. 2.04: Reverse Lookup
  22. 2.05: Dictionaries and Lists
  23. 2.06: Memos
  24. 2.07: Global Variables
  25. 2.08: Long Integers
  26. 2.09: Debugging
  27. 2.10: Glossary
  28. 2.11: Exercises
  29. 03: Tuples
  30. 3.01: Tuples Are Immutable
  31. 3.02: Tuple Assignment
  32. 3.03: Tuples as Return Values
  33. 3.04: Variable-Length Argument Tuples
  34. 3.05: Lists and Tuples
  35. 3.06: Dictionaries and Tuples
  36. 3.07: Comparing Tuples
  37. 3.08: Sequences of Sequences
  38. 3.09: Debugging
  39. 3.10: Glossary
  40. 3.11: Exercises
  41. 04: Case Study- Data Structure Selection
  42. 4.01: Word Frequency Analysis
  43. 4.02: Random Numbers
  44. 4.03: Word Histogram
  45. 4.04: Most Common Words
  46. 4.05: Optional Parameters
  47. 4.06: Dictionary Subtraction
  48. 4.07: Random Words
  49. 4.08: Markov Analysis
  50. 4.09: Data Structures
  51. 4.10: Debugging
  52. 4.11: Glossary
  53. 4.12: Exercises
  54. 05: Files
  55. 5.01: Persistence
  56. 5.02: Reading and Writing
  57. 5.03: Format Operator
  58. 5.04: Filenames and Paths
  59. 5.05: Catching Exceptions
  60. 5.06: Databases
  61. 5.07: Pickling
  62. 5.08: Pipes
  63. 5.09: Writing Modules
  64. 5.10: Debugging
  65. 5.11: Glossary
  66. 5.12: Exercises
  67. 06: Classes and Objects
  68. 6.01: User-Defined Types
  69. 6.02: Attributes
  70. 6.03: Rectangles
  71. 6.04: Instances as Return Values
  72. 6.05: Objects Are Mutable
  73. 6.06: Copying
  74. 6.07: Debugging
  75. 6.08: Glossary
  76. 6.09: Exercises
  77. 07: Classes and Functions
  78. 7.01: Time
  79. 7.02: Pure Functions
  80. 7.03: Modifiers
  81. 7.04: Prototyping versus Planning
  82. 7.05: Debugging
  83. 7.06: Glossary
  84. 7.07: Exercises
  85. 08: Classes and Methods
  86. 8.01: Object-Oriented Features
  87. 8.02: Printing Objects
  88. 8.03: Another Example
  89. 8.04: A More Complicated Example
  90. 8.05: The Init Method
  91. 8.06: The str Method
  92. 8.07: Operator Overloading
  93. 8.08: Type-Based Dispatch
  94. 8.09: Polymorphism
  95. 8.10: Debugging
  96. 8.11: Interface and Implementation
  97. 8.12: Glossary
  98. 8.13: Exercises
  99. 09: Inheritance
  100. 9.01: Card Objects
  101. 9.02: Class Attributes
  102. 9.03: Comparing Cards
  103. 9.04: Decks
  104. 9.05: Printing the Deck
  105. 9.06: Add, Remove, Shuffle and Sort
  106. 9.07: Inheritance
  107. 9.08: Class Diagrams
  108. 9.09: Debugging
  109. 9.10: Data Encapsulation
  110. 9.11: Glossary
  111. 9.12: Exercises
  112. 10: Case Study- Tkinter
  113. 10.01: GUI
  114. 10.02: Buttons and Callbacks
  115. 10.03: Canvas Widgets
  116. 10.04: Coordinate Sequences
  117. 10.05: More Widgets
  118. 10.06: Packing Widgets
  119. 10.07: Menus and Callables
  120. 10.08: Binding
  121. 10.09: Debugging
  122. 10.10: Glossary
  123. 10.11: Exercises
  124. 11: The Way of The Program
  125. 11.01: The Python Programming Language
  126. 11.02: What Is a Program
  127. 11.03: What Is Debugging
  128. 11.04: Formal and Natural Languages
  129. 11.05: The First Program
  130. 11.06: Debugging
  131. 11.07: Glossary
  132. 11.08: Exercises
  133. 12: Appendix A- Debugging
  134. 12.01: Syntax Errors
  135. 12.02: Runtime Errors
  136. 12.03: Semantic Errors
  137. 13: Appendix B- Analysis of Algorithms
  138. 13.01: Order of Growth
  139. 13.02: Analysis of Basic Python Operations
  140. 13.03: Analysis of Search Algorithms
  141. 13.04: Hashtables
  142. 14: Appendix C- Lumpy
  143. 14.01: State Diagram
  144. 14.02: Stack Diagram
  145. 14.03: Object Diagrams
  146. 14.04: Function and Class Objects
  147. 14.05: Class Diagrams
  148. 15: Variables Expressions and Statements
  149. 15.01: Values and Types
  150. 15.02: Variables
  151. 15.03: Variable Names and Keywords
  152. 15.04: Operators and Operands
  153. 15.05: Expressions and Statements
  154. 15.06: Interactive Mode and Script Mode
  155. 15.07: Order of Operations
  156. 15.08: String Operations
  157. 15.09: Comments
  158. 15.10: Debugging
  159. 15.11: Glossary
  160. 15.12: Exercises
  161. 16: Functions
  162. 16.01: Function Calls
  163. 16.02: Type Conversion Functions
  164. 16.03: Math Functions
  165. 16.04: Composition
  166. 16.05: Adding New Functions
  167. 16.06: Definitions and Uses
  168. 16.07: Flow of Execution
  169. 16.08: Parameters and Arguments
  170. 16.09: Variables and Parameters Are Local
  171. 16.10: Stack Diagrams
  172. 16.11: Fruitful Functions and Void Functions
  173. 16.12: Why Functions?
  174. 16.13: Importing with from
  175. 16.14: Debugging
  176. 16.15: Glossary
  177. 16.16: Exercises
  178. 17: Case Study- Interface Design
  179. 17.01: TurtleWorld
  180. 17.02: Simple Repetition
  181. 17.03: Exercises
  182. 17.04: Encapsulation
  183. 17.05: Generalization
  184. 17.06: Interface Design
  185. 17.07: Refactoring
  186. 17.08: A Development Plan
  187. 17.09: docstring
  188. 17.10: Debugging
  189. 17.11: Glossary
  190. 17.12: Exercises
  191. 18: Conditionals and Recursion
  192. 18.01: Modulus Operator
  193. 18.02: Boolean Expressions
  194. 18.03: Logical Operators
  195. 18.04: Conditional Execution
  196. 18.05: Alternative Execution
  197. 18.06: Chained Conditionals
  198. 18.07: Nested Conditionals
  199. 18.08: Recursion
  200. 18.09: Stack Diagrams for Recursive Functions
  201. 18.10: Infinite Recursion
  202. 18.11: Keyboard Input
  203. 18.12: Debugging
  204. 18.13: Glossary
  205. 18.14: Exercises
  206. 19: Fruitful Functions
  207. 19.01: Return Values
  208. 19.02: Incremental Development
  209. 19.03: Composition
  210. 19.04: Boolean Functions
  211. 19.05: More Recursion
  212. 19.06: Leap of Faith
  213. 19.07: One More Example
  214. 19.08: Checking Types
  215. 19.09: Debugging
  216. 19.10: Glossary
  217. 19.11: Exercises
  218. 20: Iteration
  219. 20.01: Multiple Assignment
  220. 20.02: Updating Variables
  221. 20.03: The while Statement
  222. 20.04: break
  223. 20.05: Square Roots
  224. 20.06: Algorithms
  225. 20.07: Debugging
  226. 20.08: Glossary
  227. 20.09: Exercises
  228. 21: Strings
  229. 21.01: A String Is a Sequence
  230. 21.02: len
  231. 21.03: Traversal with a for Loop
  232. 21.04: String Slices
  233. 21.05: Strings Are Immutable
  234. 21.06: Searching
  235. 21.07: Looping and Counting
  236. 21.08: String Methods
  237. 21.09: The in Operator
  238. 21.10: String Comparison
  239. 21.11: Debugging
  240. 21.12: Glossary
  241. 21.13: Exercises
  242. 22: Case Study- Word Play
  243. 22.01: Reading Word Lists
  244. 22.02: Exercises
  245. 22.03: Search
  246. 22.04: Looping with Indices
  247. 22.05: Debugging
  248. 22.06: Glossary
  249. 22.07: Exercises