PLDB
Languages Features Calendar About Lists Add Language
GitHub icon

Python

Python

Python is a programming language created in 1991 by Guido van Rossum.

Python is a widely used high-level programming language for general-purpose programming, created by Guido van Rossum and first released in 1991. An interpreted language, Python has a design philosophy that emphasizes code readability (notably using whitespace indentation to delimit code blocks rather than curly brackets or keywords), and a syntax that allows programmers to express concepts in fewer lines of code than might be used in languages such as C++ or Java. It provides constructs that enable clear programming on both small and large scales. Read more on Wikipedia...

Try now: Riju · Replit

#4on PLDB 31Years Old 2.8mUsers

Example code from Riju:

print("Hello, world!")

Example code from Linguist:

#!/usr/bin/env python2.4 print "Python"

Keywords in Python

and as assert break class continue def del elif else except False finally for from global if import in is lambda None nonlocal not or pass raise return True try while with yield

Language features

Feature Supported Example Token
Binary Literals ✓
# 0[bB](?:_?[01])+
Floats ✓
# (\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)([eE][+-]?\d(?:_?\d)*)?
Hexadecimals ✓
# 0[xX](?:_?[a-fA-F0-9])+
Octals ✓
# 0[oO](?:_?[0-7])+
Functions ✓
While Loops ✓
Case Sensitivity ✓
Print() Debugging ✓ print
Threads ✓
Line Comments ✓
# A comment
#
Dispose Blocks Pattern ✓
with resource_context_manager() as resource:
   # Perform actions with the resource.
# Perform other actions where the resource is guaranteed to be deallocated.
Strings ✓
"hello world"
Inheritance ✓
class SumComputer(object):
   def __init__(self, a, b):
       self.a = a
       self.b = b
   def transform(self, x):
       raise NotImplementedError
   def inputs(self):
       return range(self.a, self.b)
   def compute(self):
       return sum(self.transform(value) for value in self.inputs())
 class SquareSumComputer(SumComputer):
     def transform(self, x):
         return x * x
 class CubeSumComputer(SumComputer):
     def transform(self, x):
         return x * x * x
Semantic Indentation ✓
class Person (object):
  def __init__(self, name):
    self.name = name
Operator Overloading ✓
# Python Program illustrate how  
# to overload an binary + operator 
  
class A: 
    def __init__(self, a): 
        self.a = a 
  
    # adding two objects  
    def __add__(self, o): 
        return self.a + o.a  
ob1 = A(1) 
ob2 = A(2) 
ob3 = A("Geeks") 
ob4 = A("For") 
  
print(ob1 + ob2) 
print(ob3 + ob4)
Multiple Inheritance ✓
class Base1:
    pass
class Base2:
    pass
class MultiDerived(Base1, Base2):
    pass
# Or multilevel inheritance:
class Base:
    pass
class Derived1(Base):
    pass
class Derived2(Derived1):
    pass
Lists ✓
myList = [1, 2, 3, 4, 5]
Integers ✓
foo = 1
Multiline Strings ✓
template = """This is the first line.
This is the second line.
This is the third line."""
Mixins ✓
# https://easyaspython.com/mixins-for-fun-and-profit-cb9962760556
class EssentialFunctioner(LoggerMixin, object):
Iterators ✓
https://www.w3schools.com/python/python_iterators.asp
Infix Notation ✓
seven = 3 + 4
File Imports ✓
import datetime
oTime = datetime.datetime.now()
from my_pkg import my_funcs
Assignment ✓
name = "John"
=
Directives ✓
from __future__ import feature
# coding=
Generators ✓
https://wiki.python.org/moin/Generators
Constructors ✓
MultiLine Comments ✓
''' A comment.
'''
'''
Comments ✓
# This is a comment
Conditionals ✓
if True:
 print("Hello world")
Classes ✓
class Person (object):
  def __init__(self, name):
    self.name = name
Booleans ✓ True False
Dynamic Properties ✓
class Person (object):
  def __init__(self, name):
   self.name = name

person = Person("John")
person.age = 50
Symbol Tables ✓
# https://eli.thegreenplace.net/2010/09/18/python-internals-symbol-tables-part-1
Shebang ✓
#!/usr/bin/env python
Bitwise Operators ✓
x << y
Single Dispatch ✓
Duck Typing ✓
Disk Output ✓
with open('helloworld.txt', 'w') as filehandle:
 filehandle.write('Hello, world!\n')
Units of Measure Ï´
Pointers Ï´
Regular Expression Syntax Sugar Ï´

Trending Python repos on GitHub

repo stars description
Real-Time-Voice-Cloning 7049 Clone a voice in 5 seconds to generate arbitrary speech in real-time
mlcourse.ai 5417 Open Machine Learning Course
DeepFaceLab 8645 "DeepFaceLab is a tool that utilizes machine learning to replace faces in videos. Includes prebuilt ready to work standalone Windows 7 8 10 binary (look readme.md)."
UGATIT 3646 Official Tensorflow implementation of U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation
examples-of-web-crawlers 4155 "一些非常有趣的python爬虫例子 对新手比较友好 主要爬取淘宝、天猫、微信、豆瓣、QQ等网站。(Some interesting examples of python crawlers that are friendly to beginners. )"
google-research 3329 Google AI Research
faceswap 24602 Deepfakes Software For All
UGATIT-pytorch 1150 Official PyTorch implementation of U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation
chinese-xinhua 6111 📙 中华新华字典数据库。包括歇后语,成语,词语,汉字。
tlroadmap 1965 👩🏼‍💻👨🏻‍💻Карта навыков и модель развития тимлидов
fairseq 5336 Facebook AI Research Sequence-to-Sequence Toolkit written in Python.
awesome-python 72704 "A curated list of awesome Python frameworks libraries software and resources"
100-Days-Of-ML-Code 25578 100 Days of ML Coding
pandas 21188 "Flexible and powerful data analysis / manipulation library for Python providing labeled data structures similar to R data.frame objects statistical functions and much more"
InstaPy 8694 📷 Instagram Bot - Tool for automated Instagram interactions
robotframework 3746 Generic automation framework for acceptance testing and RPA
python-fire 15088 Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
ML-From-Scratch 13039 Machine Learning From Scratch. Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Aims to cover everything from linear regression to deep learning.
thefuck 46597 Magnificent app which corrects your previous console command.
instabot 1902 "🐙 Free Instagram scripts bots and Python API wrapper. Get free instagram followers with our auto like auto follow and other scripts!"
public-apis 61065 A collective list of free APIs for use in software and web development.
fastapi 4182 "FastAPI framework high performance easy to learn fast to code ready for production"
HelloGitHub 15415 Find pearls on open-source seashore 分享 GitHub 上有趣、入门级的开源项目
manim 13205 Animation engine for explanatory math videos
CenterNet 2194 "Object detection 3D detection and pose estimation using center point detection:"

Books about Python on goodreads

title author year reviews ratings rating
Python: Programming: Your Step By Step Guide To Easily Learn Python in 7 Days (Python for Beginners, Python Programming for Beginners, Learn Python, Python Language) iCode Academy 6 126 3.76
Programming Python Mark Lutz 1996 23 898 3.96
Natural Language Processing with Python Steven Bird 2009 34 389 4.14

Article source

PLDB - Build the next great programming language. v5.0.0 - Acknowledgements · Email · GitHub