It has taken nearly 30 years for Python to go from unknown to universal.

How did Python catch on during this time? Let’s take a look today.

Lit Python’s first fire

You probably first became curious about Python because of the phrase “Life is short, I use Python.

This quote from Bruce Eckel, a member of the ANSI C++ society, is “Life is short, you need Python.”

I believe that many C++, Java developers have read this big bull’s book, his words are absolutely authoritative. He simply said what was in his heart, and since then the words have spread all over the country.

And this was just the first fire that ignited Python.

Light Python’s second fire

Python has been quietly introduced into China before 2012. At that time, some Chinese Internet enterprises used it to build part of the Web interface. In addition, some well-known enterprises in the United States also adopted Python as the preferred language for Web development, such as YouTube and Google

Of course, this is partly due to the well-known Django and Flask frameworks.

But that fire wasn’t enough. Python wasn’t in the public eye yet.

Third, the rise of cloud computing

Python came into the public eye between 2012 and 2015, when cloud computing, big data, and virtualization were at their peak.

The three key roles are OpenStack cloud architecture, Hadoop distributed big data architecture, and Vmware vSphere/Xen/Kvm VIRTUAL machine services.

More importantly, all three roles are officially recommended to be developed and configured in Python.

At the same time, people are finding Python really easy to use, and companies are demanding Python from engineers, not just operations engineers, but even DBAs.

It has to be said that Python is slowly replacing traditional Perl and Shell on Linux, and it’s no accident.

The fourth fire — artificial intelligence

Artificial intelligence probably took off in 2016, simply because the Google team created AlphaGo, the first AI algorithm ever to beat a professional go player. The algorithm was based on machine learning.

Python is the preferred language for machine learning. For AI and artificial intelligence, Python has a rich framework package, such as AIMA/pyDatalog/SimpleAI framework, PyBrain/PyML/MDP-Toolkit for machine learning. Requests/Scrapy, Selenium can perform data acquisition, me/NumPy/Pandas/Sklearn can carry out data processing and so on

The fifth fire — Visual Studio2017

Microsoft’s Visual Studio2017 officially supports Python.

Getting Microsoft’s approval was not easy, and It was difficult to keep Python from becoming popular with the large Windows user base.

Thanks to these five fires, Python has become even more popular. As a result, many open source Python tutorials have been created. Professor Luo Hao’s “Python – 100 Days from Novice to Master” is very detailed.

The tutorial is as follows:

Day01 to 15 – Basic Python language

Day01 – Learning Python for the first time

  • Introduction to Python – History of Python/Pros and cons of Python/Application areas of Python
  • Build programming environment – Windows environment/Linux environment/MacOS environment
  • Run Python programs from a terminal – Hello, world/print functions/run the program
  • Use idLE-interactive environment (REPL)/write multiple lines of code/run the program/exit IDLE
  • Comments – What comments do/single line comments/multi-line comments

Day02 – Language elements

  • Programs and Bases – Instructions and programs/von Neumann/binary and decimal/octal and hexadecimal
  • Variables and types – naming variables/using variables/input function/checking variable types/type conversions
  • Numbers and Strings – integer/floating point/complex/string/string basic operations/character encodings
  • Operator – Mathematical operator/assignment operator/comparison operator/logical operator/identity operator/priority of operator
  • Application Case – Convert Fahrenheit temperature to Celsius temperature/input circle radius calculate the circumference and area/input year determine whether it is a leap year

Day03 – Branching structure

  • Application scenarios for branching – conditions/indentation/code blocks/flowcharts
  • If statement – simple if/if-else structure/if-elif-else structure/nested if
  • Application case – User authentication/Interchangeover with metric units/roll dice to decide what to do/percentage grade to grade/piecewise function evaluation/Input the length of three sides calculate the perimeter and area if it can form a triangle

Day04 – Circular structure

  • Application scenarios for loop structures – conditions/indentation/code blocks/flowcharts
  • While loop – Basic structure/break statement/continue statement
  • For loop – Base structure/range type/branch structure in loop/nested loop/End program early
  • Application cases – 1~100 summation/judge prime number/guess number game/print ninety-nine table/print triangle pattern/monkey eat peach/hundred money hundred chicken

Day05 – Construct program logic

  • Basic Exercises – Daffodil number/perfect number/fish for five/Fibonacci sequence/palindrome prime number
  • Comprehensive exercise – Craps gambling games

Day06 – Use of functions and modules

  • What functions do – bad taste of code/encapsulating function modules with functions
  • Define a function – DEF statement/function name/argument list/return statement/call a custom function
  • Call functions – Python built-in functions/import modules and functions
  • Function arguments – default/variable/keyword arguments/named keyword arguments
  • The return value of the function – no return value/returns a single value/returns multiple values
  • Scope issues – local/nested/global/built-in/scope-related keywords
  • Using module management functions – concept of modules/Using custom module management functions/what happens when naming conflicts occur (same module versus different modules)

Day07 – Strings and common data structures

  • Use of strings – Calculating length/subscript operations/slicing/common methods
  • Basic Usage of lists – Define lists/access elements with the following table/subscript out of bounds/add elements/delete elements/modify elements/slice/loop through
  • Common operations for lists – join/copy (copy elements and copy arrays)/length/sort/reverse/find
  • Generate lists – Use range to create lists of numbers/generate expressions/generators
  • Use of tuples – Define tuples/use values in tuples/modify tuple variables/tuples and list conversions
  • Basic Usage of collections – Differences between collections and lists/Create collections/Add elements/Delete elements/empty
  • Set common operations – intersection/union/difference/symmetric difference/subset/superset
  • Basic dictionary usage – Dictionary features/create dictionary/Add element/Delete element/Value/Empty
  • Keys () method/values() method/items() method/setdefault() method
  • Basic Exercises – Running the lantern effect/list to find the largest element/statistics of the average score of the test/Fibonacci series/Yang Hui triangle
  • Integrated case – Double color ball pick/Tic-Tac-toe

Day08 – Object-oriented programming basics

  • Classes and Objects – What is a class/what is an object/Object-oriented other related concepts
  • Define classes – basic structures/properties and methods/constructors/destructors / __str__ methods
  • Using objects – Create objects/send messages to objects
  • Four pillars of object orientation – abstraction/encapsulation/inheritance/polymorphism
  • Basic Exercises – Define student class/Define clock class/Define graphics class/Define car class

Day09 – Object-oriented Advanced

  • Properties – Class properties/instance properties/Property accessors/Property modifiers/Property removers/use __slots__
  • Methods in a class – instance methods/class methods/static methods
  • Operator overload -add/sub/or /getitem/setitem/len/repr/gt/lt/le /ge/eq/ne/contains
  • Relationships between classes – associations/inheritance/dependencies
  • Inheritance and polymorphism – What is the syntax for inheritance/inheritance/calling superclass methods/method rewriting/type determination/multiple inheritance/diamond inheritance (diamond inheritance) and C3 algorithms
  • Integrated case – payroll settlement system/automatic book discount system/custom score class

Day10 – Graphical user interface and game development

  • Develop guIs using Tkinter
  • Use pyGame tripartite library to develop game applications
  • “Big ball eat small ball” game

For more content, please go to Github

Github.com/jackfrued/P…


Welcome to join the discussion. Address: github.com/daily-inter…


For more technical articles, video tutorials and open source projects such as Angular1/2/4/5, Ionic1/2/3, React, Vue, wechat mini program, nodeJS, etc., please follow wechat official account – Full Stackerfect.