Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 3e69160

Browse filesBrowse files
authored
Update README.md
1 parent bb64346 commit 3e69160
Copy full SHA for 3e69160

File tree

1 file changed

+220
-36
lines changed
Filter options

1 file changed

+220
-36
lines changed

‎README.md

Copy file name to clipboardExpand all lines: README.md
+220-36Lines changed: 220 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -180,63 +180,247 @@ Let’s talk about the important concepts you should learn in Python.
180180

181181
Python has more than one implementation. We use CPython, others are:
182182

183-
CPython- Written in C
184-
Jython- Written in Java
185-
IronPython- Implemented in C#
186-
Brython- Browser Python
187-
RubyPython- Bridge between Python and Ruby interpreters
188-
PyPY- Implemented in Python
189-
MicroPython- Runs on a microcontroller
183+
- CPython- Written in C
184+
- Jython- Written in Java
185+
- IronPython- Implemented in C#
186+
- Brython- Browser Python
187+
- RubyPython- Bridge between Python and Ruby interpreters
188+
- PyPY- Implemented in Python
189+
- MicroPython- Runs on a microcontroller
190190

191-
File Extensions
191+
### e. File Extensions
192192

193193
Python files may have one of the following extensions:
194194

195-
.py
196-
.pyc
197-
.pyd
198-
.pyo
199-
.pyw
200-
.pyz
195+
- .py
196+
- .pyc
197+
- .pyd
198+
- .pyo
199+
- .pyw
200+
- .pyz
201201

202+
## 7. Syntax
202203

204+
To learn about variables, operators, and other topics, refer to the links above. Here, we will talk about the syntax of Python code.
203205

206+
- Line Structure - Programs consist of logical lines. Each line has a NEWLINE token at the end. Blank lines are ignored.
207+
- Multiline statements - There are no semicolons or braces in Python (you can use semicolons if you want, but they are not mandatory)
208+
- Backward slash - To distribute a statement across multiple lines.
209+
- Triple quotes - Put strings in triple quotes to span them across multiple lines.
210+
- Comments - They explain code and are ignored by the interpreter. Declared by hash (#).
211+
- Docstrings - Documentation strings that explain code. Retained at runtime for inspection.
212+
- Indentation - Since there are no curly braces, you need to indent code blocks equally. You can use tabs or spaces, but not a combination of both. PEP8 recommends using 4 spaces.
213+
- Multiple statements in one line - You can use semicolons to separate multiple statements in one line. You can also put an if-statement’s single-line body in one line.
214+
- Quotations - You can delimit strings with single or double quotes, but not both (opening with one and closing with another). If you use single quotes inside the string, use double quotes to delimit. You can escape quotes inside strings with the escape character (\).
215+
- Identifiers - These are names of elements, and are case-sensitive. You need to follow some rules when naming identifiers.
216+
- Variables - They hold values. Python follows duck-typing and is dynamically-typed. You don’t need to declare the type of variable, that is determined by the interpreter at runtime.
217+
- String formatters - For this, you can use the % operator, the format() method, or f-strings.
218+
- Python vs Java vs C++ - Curly braces are mandatory in Java and C++, but Python uses whitespace indentation to delimit code. Semicolons are optional in Python, but can cause errors in C++ and Java. Python is dynamically-typed, Java and C++ are statically-typed. Java is faster than Python.
204219

220+
## 8. Popular IDEs
205221

206-
## Welcome to GitHub Pages
222+
While you’re learning Python, you will use an IDE (Integrated Development Environment) to run the code. You can choose one or more of the following. Here, you can write, edit, test and debug code. It has build automation, code linting, testing, and debugging. This speeds up your work.
207223

208-
You can use the [editor on GitHub](https://github.com/data-flair/python-tutorial/edit/master/README.md) to maintain and preview the content for your website in Markdown files.
224+
### a. IDLE
209225

210-
Whenever you commit to this repository, GitHub Pages will run [Jekyll](https://jekyllrb.com/) to rebuild the pages in your site, from the content in your Markdown files.
226+
Pricing: Free
227+
IDLE comes with Python. It is lightweight and simple.
211228

212-
### Markdown
229+
### b. Sublime Text 3
213230

214-
Markdown is a lightweight and easy-to-use syntax for styling your writing. It includes conventions for
231+
Pricing: Freemium
232+
Sublime Text 3 is a popular code editor and also supports other languages. It is fast, customizable, and has a large community. It has packages available for debugging, auto-completion, and code linting, and for Django, Flask, and scientific development.
215233

216-
```markdown
217-
Syntax highlighted code block
234+
### c. Atom
218235

219-
# Header 1
220-
## Header 2
221-
### Header 3
236+
Pricing: Free
237+
Atom is an editor by GitHub and is open-source. It is customizable and has packages like autocomplete-python, linter-flake8, and python-debugger.
222238

223-
- Bulleted
224-
- List
239+
### d. Thonny
225240

226-
1. Numbered
227-
2. List
241+
Pricing: Free
242+
Thonny is an IDE you can install. It has a very simple UI for beginners, but also has many useful features like syntax error highlighting, debugging, code completion, and step-through expression evaluation.
228243

229-
**Bold** and _Italic_ and `Code` text
244+
### e. PyCharm
230245

231-
[Link](url) and ![Image](src)
232-
```
246+
Pricing: Freemium
247+
PyCharm is not for beginners. It is created by JetBrains and has two versions- Community and Professional. It has features like code completion, code inspections, error-highlighting and fixes, debugging, version control system and code refactoring. However, PyCharm is resource-intensive.
233248

234-
For more details see [GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/).
249+
### f. Visual Studio Code
235250

236-
### Jekyll Themes
251+
Pricing: Free
252+
VS Code is a free and open-source IDE by Microsoft. It has features like intelligent code completion, linting for potential errors, debugging and unit testing, and you can add extensions. It is also lightweight.
237253

238-
Your Pages site will use the layout and styles from the Jekyll theme you have selected in your [repository settings](https://github.com/data-flair/python-tutorial/settings). The name of this theme is saved in the Jekyll `_config.yml` configuration file.
254+
### g. Vim
239255

240-
### Support or Contact
256+
Pricing: Free
257+
The VIM text editor comes preinstalled in MacOS and UNIX, and is available for Windows. It has keyboard shortcuts and is extendible. It also has plugins for syntax highlighting, code completion, debugging, and refactoring.
258+
259+
### h. Spyder
260+
261+
Pricing: Free
262+
This is an open-source IDE and can be installed with Anaconda. It has features like autocompletion, debugging, and iPython shell.
263+
264+
### i. repl.it
265+
266+
Pricing: Free
267+
This is an online compiler- you don't need to install Python and set up an environment with this. It also has support for other languages.
268+
269+
### j. JupyterLab
270+
271+
Pricing: Free
272+
JupyterLab is the next-gen UI for Project Jupyter. It has all the building blocks of the Jupyter Notebook, like notebooks, terminal, text editor, file browser, and rich output. The UI is flexible.
273+
274+
### k. Eclipse + PyDev
275+
276+
Pricing: Free
277+
PyDev is a Python IDE for Eclipse. Using the PyDev plugin with Eclipse, we can develop for Python.
278+
279+
## 9. How Long Will it Take to Learn Python?
280+
281+
Python is an easy language to learn and has a smooth learning curve. Learning the basics will not take much time. But you will need to practice as you learn. The more you practice, the better you are at it. You will need to build projects as well. Once you have followed the steps mentioned above, you can say you know Python. So how long it will take depends on you.
282+
283+
## 10. Which Libraries Should I Learn?
284+
285+
Python has over 198,495 projects in the PyPI. Which of those packages (and the built-in ones) should you learn? Here are a few names:
286+
287+
- scipy
288+
- numpy
289+
- matplotlib
290+
- urllib
291+
- requests
292+
- smtplib
293+
- os
294+
- shutil
295+
- tkinter
296+
- PyQt
297+
- threading
298+
- subprocess
299+
- PyMySQL
300+
- unittest
301+
- pickle
302+
- logging
303+
- virtualenv
304+
- pandas
305+
- scikit-learn
306+
- datetime, calendar, time
307+
- collections
308+
- array
309+
- itertools
310+
311+
## 11. What Projects Should I Build?
312+
313+
Building a project will strengthen your basics and help you figure out what you don’t know.
314+
315+
- Start with some basic projects like Hangman and Tic-Tac-Toe. Build an alarm clock. This can be console-based.
316+
- Move on to intermediate projects like a todo-list with Django. Use frameworks and build GUIs too.
317+
- Now, it’s time to work on some advanced projects like:
318+
- Parkinson’s Disease Detection
319+
- Speech Emotion Recognition
320+
- Breast Cancer Classification
321+
- Fake News Detection
322+
- Gender and Age Detection
323+
- Driver Drowsiness Detection
324+
325+
You can also build a project to solve a real problem you face or faced earlier.
326+
327+
## 12. Should I Go for the Python Certification?
328+
329+
There is no official certified exam for Python. DataFlair offers an excellent certification program for Python. This has more than 20 hours of video-based sessions, multiples practicals, and 5 exciting projects to build- with complete source code!
330+
331+
## 13. Solve Interview Questions
332+
333+
You are now ready to answer some interview questions at any level- beginner, intermediate, or advanced. You can also do this after any of the previous steps. Refer to these questions- these are questions of all difficulties- beginner, intermediate, and advanced. They also have some open-ended questions.
334+
335+
- Top 150+ Interview Questions for Freshers
336+
- Python Interview Questions for Intermediate
337+
- Python Interview Questions - Advanced
338+
339+
## 14. Python Job Trends
340+
Python is the second-most loved language and the most-wanted language according to the StackOverflow Developer Survey for 2019. It seems to have a good future with stable jobs. Also, the jobs pay well. Here are the profiles you can go for if you learn Python:
341+
342+
- Software Engineer
343+
- Senior Software Engineer
344+
- DevOps Engineer
345+
- Data Scientist
346+
- Senior Data Scientist
347+
348+
And here are the salaries:
349+
350+
- Software Engineer - $103,035 /year
351+
- Senior Software Engineer - $129,328 /year
352+
- DevOps Engineer - $115,666 /year
353+
- Data Scientist - $117,345 /year
354+
- Senior Data Scientist - $136,633 /year
355+
356+
Python is at #3 on the TIOBE Index for September 2019. Job boards like Naukri and Indeed post more than 16000 to 24000 jobs for Python. Right now, there is a high demand, but low supply. This is a great opportunity for you. There is a large number of jobs per Python programmer.
357+
358+
## 15. Python for Machine Learning
359+
360+
One reason why Python is so popular is its libraries. We have many libraries geared toward data science and machine learning. These have tools and functions/methods for trivial tasks so we don’t have to implement everything from scratch. You should learn to work with the following libraries:
361+
362+
- scikit-learn
363+
- scipy
364+
- numpy
365+
- pandas
366+
- xgboost
367+
- keras
368+
- tensorflow
369+
- matplotlib
370+
- seaborn
371+
- theano
372+
- mlpy
373+
- NetworkX
374+
- SymPy
375+
- Dask
376+
- Dmelt
377+
- PyBrain
378+
379+
***What Next***
380+
- Learn Python for Machine Learning
381+
- Learn Python for Data Science
382+
- Learn Python for Artificial Intelligence
383+
384+
## 16. Companies Using Python
385+
386+
Many giant companies use Python for their products and services. Some of these are:
387+
388+
- Google - Python as a major programming language
389+
- Facebook - For production engineering
390+
- NASA Workflow Automation Tool - Written in Python
391+
- Nokia - Platforms like S60
392+
- IBM - Factor tool control applications
393+
- Walt Disney Feature Animation - Scripting language for animation
394+
- Yahoo! Maps services - Written in Python
395+
- Disqus - Commenting forum built with Django
396+
- Dropbox stack - Written in Python
397+
- Quora - Social website written in Python
398+
- Instagram - Built with Django
399+
- YouTube - Scripted Python for website
400+
- Bit Torrent - Originally written in Python
401+
- Other companies like Uber, MIT, Hike, Pandora, Spotify, Udemy, Netflix, PayPal, Reddit, Pinterest, and Glassdoor use it too
402+
403+
## 17. Case Studies - Python
404+
405+
### a. Python at Netflix
406+
407+
Netflix uses Python for data analysis and its backend services. It is how it recommends new titles. Netflix also uses Python to build custom extensions to the Jupyter server. This can be used to manage tasks like logging, archiving, publishing and cloning notebooks. Netflix uses the statistical and numerical libraries like numpy, scipy, tuptures, and pandas. It also uses Python for automation, data exploration, and visualization. It implements demand engineering, insight engineering, Open Connect Network, Information Security, an ML infrastructure, Notebooks, a Partner Ecosystem, and Animation and NVFX.
408+
409+
### b. Spotify
410+
Like Netflix, Spotify uses Python for data analysis and backend services. It uses ZeroMQ for backend communication- this is an open networking framework written in Python and C++. Python allows fast development. Also, Spotify uses it for data analytics to create suggestions and recommendations. It also uses Luigi for synchronization with Hadoop. This lets it create "Radio and Discovery".
411+
412+
### c. Quora
413+
414+
Quora is a social networking platform with questions and answers. They considered many languages before choosing Python because it has no type checking, and is slow. They rejected C# because the Microsoft Language is proprietary. Java has strict syntax, so it was rejected. So, like Google, Quora chose Python for its ease of writing and readability. They solved the problem of type checking by writing unit tests. They also liked the frameworks for Python- Django and Pylons. It was also easier to club Python and JS for handling user interactions.
415+
416+
### d. Facebook
417+
418+
Facebook extensively uses Python. The libraries and frameworks reduce the code-load and focus on improvements. Facebook used Python for multiple services in infrastructure management, and made it scale-efficient. It also published Py3 written projects, including Facebook Ads API and a Python async IRC bot framework.
419+
420+
### e. Google
421+
422+
Google has been using Python since the beginning. They decided to implement Python for ease of maintenance and faster delivery than C++. They also recoded some Perl or Bash scripts into Python. Python is the official Google server-side language at Google. Peter Norvig, and American computer scientist, said "Python has been an important part of Google since the beginning and remains so as the system grows and evolves. Today, dozens of Google engineers use Python, and we're looking for more people with skills in this language."
423+
424+
425+
This was the A-Z of Python. We tried to cover everything you could want to know. We discussed Python, its syntax, why and how to learn, a short tutorials, some libraries, names of projects, interview questions, its future, Python for Machine Learning, companies and some case studies.
241426

242-
Having trouble with Pages? Check out our [documentation](https://help.github.com/categories/github-pages-basics/) or [contact support](https://github.com/contact) and we’ll help you sort it out.

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.