The Most Frequently Asked Questions About Python Programming

综合编程 2018-03-14

So you’ve decided to learn a new programming language , you’ve done a bit of research, and you’re wondering whether Python is right for you? Or maybe you’ve determined to learn Python but aren’t really sure how to get started?

Rest assured, you’ve come to the right place! In this article, we’ll walk you through everything you need to know about Python, including what it is, why it’s useful, how to start coding in Python, and where to go from here.

What Is Python?

Python is a programming language that’s both compiled and interpreted . Python source files (.py) are run through a compiler and turned into bytecode files (.pyc), which are then executed in real-time by an interpreter.

This makes Python ahigh-level language High-Level vs. Low-Level Programming Languages: Which Should You Learn? High-Level vs. Low-Level Programming Languages: Which Should You Learn? What exactly are high level and low level programming languages? And what does it mean for learning to write code? Let's start with the definitions of each and go from there. Read More , which means, in practical terms, you don’t have to write as much code to get as much done when compared to lower-level languages, and most Python code can be run on most platforms.

The benefits of this include greater code readability, more compact syntax, lots of flexibility in structuring your code, and faster development cycles. The trade-off is slower execution speed and less access to system-level calls.

Why Learn Python?

The best reason to learn Python is that its commitment to simplicity makes it one of the easiest programming languages to learn . One of the design principles behind Python is a commitment to making the act of programming as enjoyable as possible.

In short, Python is fun. For what other languages can you really say the same?

According to the TIOBE Programming Community Index , Python ranked as the fourth most popular programming language in early 2018—ahead of other beginner-friendly languages like JavaScript and Ruby.

Of the many reasons to learn Python 5 Reasons Why Python Programming Is Not Useless 5 Reasons Why Python Programming Is Not Useless Python -- You either love it or you hate it. You might even swing from one end to the other like a pendulum. Regardless, Python is a language that's hard to be ambivalent about. Read More , standout ones include the vast number of tutorials available online, the fact that it enables rapid development, and the great demand for Python coders in the programming job market 10 Computer Programming Jobs That Are In Demand Right Now 10 Computer Programming Jobs That Are In Demand Right Now Since landing a programming job can be tough in the current landscape, consider focusing on one of the following concentrations to improve your chances of success. Read More .

What Is Python Used For?

So much can be done with Python. Not only is it a fun language, it’s an intensely practical one that’s useful for creating all kinds of scripts and software.

We have several tutorials and resources you may find useful:

Overall, Python is used in web development, data analysis, microcontrollers, machine learning, game development, utility scripts, and rapid prototyping of software that will eventually be implemented in other languages.

Is Python Free?

Yes, Python is completely free and open source.

One of the best aspects of Python is its community-driven development, which is mainly done through GitHub (for checking out the language’s source code and submitting patches) and IRC (where users can discuss bugs, features, and other Python-related topics).

If you’re interested in contributing, check out the Python Developer’s Guide .

How Long Does It Take to Learn Python?

As with any programming language, it depends . The more experience you have and the more serious you are about learning, the faster it’ll be. But relatively speaking, it’ll take you less time to learn Python than most other languages.

On average, assuming daily practice, I’d expect 1-2 months for a beginner to start grasping the fundamental concepts of Python and 8-12 months to become proficient. An experienced programmer could probably pick up Python and be comfortably fluent within 3 months.

To speed up the process, we recommend checking out these essential Python concepts , our tutorial on properly using Python dictionaries , as well as these helpful online courses for Python beginners 5 Courses That'll Take You from Python Beginner to Pro 5 Courses That'll Take You from Python Beginner to Pro These five courses will teach you all about programming in Python, one of the hottest languages out there right now. Read More .

What’s the Difference Between Python 2.x and 3.x?

When Python 2.0 first came out in 2000, the language wasn’t too popular yet. As more developers started picking it up and using it seriously, flaws in the language became more apparent, but they couldn’t be fixed without major changes.

When Python 3.0 first came out in 2008, those major changes were introduced which led to several new features and improvements, but the language became incompatible with Python 2.x. This meant developers needed to refactor their code to take advantage of Python 3.0, and many of them weren’t willing to do that—including the developers of many popular third-party libraries and frameworks.

As a result, Python essentially split into two supported versions: the 2.x “legacy” branch and the 3.x “present” branch. The 3.x branch is the focus of active development, whereas the 2.x branch only receives bug fixes and security updates.

Nowadays, most of the community has moved on to Python 3.x, and that’s the version I recommend using.The only reason to use Python 2.x today is if your project relies on a library or framework that still doesn’t support Python 3.x.

How to Install Python on Windows

Installing Python on Windows is as simple as running the official installer:

  1. Download Python 3.x and run the installer.
  2. When prompted, make sure you tick the “Add Python 3.x to PATH” checkbox before clicking Install Now . I also recommend keeping the “Install launcher for all users” checkbox ticked.
  3. When prompted, click Yes for UAC permissions.
  4. Wait for installation to finish.
  5. At the end, click Disable path length limit , then click Yes for UAC permissions, then click Close to complete installation.

How to Install Python on Mac

Most Mac systems already come with Python installed, but it’s usually an outdated version that you shouldn’t use, especially if you’re planning on doing serious development (as opposed to just fiddling around for a hobby).

I recommend installing the latest version of Python 3.x using a tool called Homebrew, which is a Mac package management that lets you install software using Terminal.

  1. Open ( using Spotlight is quickest Search More Efficiently In Mac OS X With Our Top Spotlight Tips Search More Efficiently In Mac OS X With Our Top Spotlight Tips Spotlight has been a killer Mac feature for years, with Cupertino regularly schooling Redmond in the art of desktop search. Here are a few tips to help you find more on your Mac. Read More ).
  2. Visit the Homebrew site , copy the installation command, paste it into Terminal, and hit Enter. Follow the prompt to complete installation.
  3. Install Python with this command:
    brew install python
  4. If you experience any issues with Python, you may need to re-link it using this simple command:
    brew unlink python && brew link python

That’s it! If you’re interested, learn more about installing software with Homebrew Install Mac Software From Terminal With Homebrew Install Mac Software From Terminal With Homebrew Install (almost) any free Mac app by typing four words and hitting "Enter". Read More .

How to Install Python on Linux

Not all Linux distributions come with Python included, but many of them do. For the ones that don’t, Python is often available in the distribution’s package manager, and installation is as simple as running one or two simple commands.

On Ubuntu 16.10 and later:

sudo apt update
sudo apt install python3

On older versions of Ubuntu, I recommend thisthird-party PPA:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa

Once added, update, then install Python.

sudo apt-get update
sudo apt-get install python3.7

We covered Ubuntu because it’s the most common Linux distribution for desktop users. Unfortunately we can’t cover every other distribution out there, but a simple Google search will reveal that it’s just as easy on them too. This is one of the main reasons why Linux is the preferred OS for programmers 7 Superb Reasons Why You Should Use Linux For Programming 7 Superb Reasons Why You Should Use Linux For Programming Linux has long had a reputation as a place for programmers and geeks, and is a fantastic platform for programmers. Not convinced? Well, there are many reasons to consider using Linux for writing code. Read More .

How to Check Python Version

If you aren’t sure if Python is already installed, or if you know it is but aren’t sure which version you have right now, just run this command in your operating system’s relevant command-line terminal:

python --version

Some operating systems may need this command instead:

python3 --version

What Are the Best Python IDEs?

When working with Python, or any kind of programming in general, a solid code editor can make the difference between an enjoyable coding experience or weeks of hair-pulling frustration. To me, a good Python editor can either be a text editor with extensions or a dedicated Python IDE .

If you don’t know the difference, see our article on the difference between text editors and IDEs for programmers Text Editors vs. IDEs: Which One Is Better For Programmers? Text Editors vs. IDEs: Which One Is Better For Programmers? Choosing between an advanced IDE and a simpler text editor can be hard. We offer some insight to help you make that decision. Read More . I recommend going with an IDE.

Python IDEs

There’s only one Python IDE worth mentioning, and that’s PyCharm . It’s available in a free Community version as well as a paid Professional version, which costs $9/mo (with discounts for yearly subscriptions).

The free Community version is more than enough for solo developers, equipped with features like smart syntax highlighting, code navigation, code refactoring, code inspections, graphical debugging, and integration with version control.

The paid Professional version adds advanced support for business-oriented web development, including code profiling, integration with web frameworks, remote development, and support for databases.

Python Text Editors

Text editors for coding are plentiful, with Sublime Text , Atom , and Geany being common picks. But my recommendation goes to Visual Studio Code (not Visual Studio).

VS Code is an open-source and cross-platform text editor by Microsoft that’s built for both performance and productivity. Out of the box, it supports features like syntax highlighting, code debugging, code refactoring, code navigation, integration with version control, and more.

But its real power comes from third-party extensions like:

Sounds good? Start with these essential productivity tips for Visual Studio Code 10 Essential Productivity Tips for Visual Studio Code 10 Essential Productivity Tips for Visual Studio Code Visual Studio Code blows Sublime Text out of the water. It's free, open source, and lightning fast. Read what else you must know about Microsoft's genius text editor. Read More .

Python Online Shells

If you’ve come this far and still aren’t sure if Python is the right language for you, don’t go through the hassle of installing a bunch of software that you may not end up using. Instead, you’d be better off playing with Python in an online interactive shell.

An online interactive shell is basically just a website that lets you write Python code, execute it, and see what it does in real-time.

Note that interactive shells are nowhere near as full-featured as proper text editors or IDEs. I don’t recommend them for long-term projects—these are strictly for testing code and playing around. That said, here are a few nifty Python shells to try Try Python in Your Browser With These Free Online Interactive Shells Try Python in Your Browser With These Free Online Interactive Shells Whether you're going through these Python examples or reviewing the basics of arrays and lists, you can test the code right in your browser. Here are the best online Python interpreters we've found. Read More .

Learn Python and Take Things Even Further

Despite being one of the easier programming languages, Python isn’t easy . In addition to checking out these Python tutorial websites , you may want to try this 30-day Python challenge that’ll teach you the basics in no time at all.

If you’re more of a hands-on learner, I highly recommend Codewars , which is home to thousands of Python coding challenges for sharpening your skills 7 Unique Ways To Practice Your Coding Skills 7 Unique Ways To Practice Your Coding Skills Let's repeat -- there's no age to learning. Once you are on that path, you just have to keep practicing. And today there are more ways than one to sharpen your coding chops. Read More .


(3)程序的基本结构 1、编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码: # -*- coding: cp-1252 -*- 2、标识符 第一个字符必须是字母表中字母或下划线'_'。 标...
python知识点 #ipython的使用 ## 帮助功能 ?:Ipython的概述和简介 help(name):查询指定名称的帮助 obj?:列出obj对象的详细信息 obj??:列出更加详细信息 ## 特殊变量 _ :表示前一次的输出 __:倒数...
5 属性查找与绑定方法 属性查找 类有两种属性:数据属性和函数属性 1、类的数据属性是所有对象共享的 1 #类的数据属性是所有对象共享的,id都一样 2 print(id( 3 4 print(id( #4377347328 5 print...
小猪的Python学习之旅 —— 11.Python并发之threading模块(2)... 一句话概括本文: 本节继续把Python里 threading 线程模块剩下的 Condition , Semaphore , Event, Timer 和 Barrier 讲解完毕,文档是枯燥无味的,希望通过简单 有趣的例子,可以帮你快速掌握这几个东东的用法~ 啃文档是比较...
Generating Vanity Infohashes for Torrents In the world of Bittorrent, each torrent is identified by an infohash . It is basically the SHA1 hash of the torrent metadata that tells you about...