User Tools

Site Tools


python3_ref

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
python3_ref [2018/08/08 20:32]
jguerin Added first draft of introduction.
— (current)
Line 1: Line 1:
-====== 1. Python Language Reference ====== 
- 
-Programming languages are a tool. While many modern programming languages are designed to be general purpose, some programming languages may be better suited to solve certain problems than others. 
- 
-===== When to use Python3 ===== 
-While efficiency of a //program// is key to solving many contest problems, efficiency of the //programmer// is also critically important. Python3 is known for its expressive nature: problems that are solvable in Python3 are often solvable in far fewer lines than would be required in C++ or Java. Some of the easiest real-world contest problems can be solved in fewer than 5 or 10 lines of Python3 code. A firm grasp of Python3 may make the difference in solving easy and medium level problems, and doing so faster than other competitors. 
- 
-===== When not to use Python3 ===== 
- 
-The reverse is also true. Python3 may be the //wrong// choice for other problems. While Python3 boosts programmer efficiency, it inherently lacks runtime efficiency. Python3 cannot compete with well written C/C++/Java code. Certain contest problems may not be solved within prescribed time bounds using Python3. 
- 
-Fortunately, while a wrong choice of Python3 can be a (potentially major) setback in an actual competition, Python3 code follows many common pseudocode conventions and can be quickly converted to C++ or Java code. Such converted code is likely to perform significantly even before it is deliberately fine tuned. 
- 
-Python3 is a natural choice for many of the problems that are selected for the first half of a programming contest. 
- 
-===== Input/Output ===== 
-  * [[python3_basic_io|Basic IO]] operations 
-  * [[python3_faster_io|Faster IO]] for competitive programming 
- 
-===== Data Structures ===== 
- 
-==== Sequential Structures ==== 
-  * [[python3_lists|Lists]] 
-  * [[python3_strings|Strings]] 
-  * [[python3_tuples|Tuples]] 
-  * [[python3_stacks|Stacks]] 
-  * [[python3_queues|Queues]] 
-  * [[python3_priority_queues|Priority Queues]] 
- 
-=== Sequential Structures: Operators and Functionality === 
-  * [[python3_slicing | Indexing and Slicing]] 
-  * [[python3_unpacking | Unpacking]] 
- 
- 
-==== Non-Sequential Structures ==== 
-  * [[python3_dictionaries|Dictionaries]] 
-  * [[python3_sets|Sets]] 
- 
- 
-===== Functional Programming ===== 
-==== Higher Order Functions ==== 
-  * [[python3_functional_intro|Introduction]] 
-  * [[python3_map_reduce_filter|Map, Reduce, and Filter]] 
-  * [[python3_lambdas|Lambda Expressions]] 
- 
-===== Mathematical Types and Operations ===== 
-==== Numeric Types ==== 
-  * [[python3_decimal|Decimal]] 
-  * [[python3_fractions|Fractions]] 
  
python3_ref.1533778335.txt.gz ยท Last modified: 2018/08/08 20:32 by jguerin