Python is an interpreted high-level general-purpose programming language. Python’s design philosophy emphasizes code readability with its notable use of significant indentation.
Introduction to computing and languages
Compilation and the computer
Interpreting and the interpreter
Python keywords
Indenting
Comments in code
Setting up pycharm
Using Python interpreter
the print()function
the input()function
basic input and output operations using the input(), print(), int(), float(), str(), len(),type(),dir() functions
formatting print() output with end= and sep= arguments
running scripts via command line and argv
numeric operators:** */ % // +-
string operators: *+
assignments and shortcut operators(+=, -=,*=,/=)
bitwise operators: -& ^ | <<>>
Boolean operators: not and or
Boolean expressions
relational operators ( == != > >= < <= ), building complex Boolean expressions
operators: unary and binary, priorities and binding (Precedence and Associativity of Operators
conditional statements: if, if-else, if-elif, if-elif-else
multiple condtional statements
the pass instrexpanding loops: while-else, for-elseuction
buildings loops: while, for, range(), in
iterating through sequences
nesting loops and condtional statements
expanding loops: while-else, for else
controlling loop execution: break, continue
Numbers
Strings
Lists
Tuples
Dictionary
defining and invoking your own functions
Recursion
parameters vs. arguments
positional keyword and mixed argument passing
default parametrs values<(shadowing), the global keyword
lambda functions, defining and using
map(), filter(), reduce(), reversal(), sorted() functions and the sort() method
input/output basics: opening files with the open() function, stream objects, binary vs. text files, newline character translation, reading and writing files, bytearray objects
read(), readinto(), readline(), write(), close() methods
Introduction to OS module
using predefined exceptions and defining your own ones
the try-except-else-finally block, the raise statement, the except-as variant
exceptions hierarchy, assigning more than one exception to one except branch
adding your own exceptions to an existing hierarchy
Assertions
the anatomy of an exception object
Debugging using pycharm
Debugging using pdb
defining your own classes, superclasses, subclasses, searching for missing class components, creating obbjects
class attributes : class variables and instance variables, defining adding and removing attributes, explicit constructor invocation
class methods : defining and using, the self parameter meaning and usage
invoking methods, passing and using the self argument/parameter
the__init__method
The__new__method
the role of the__str__method
introspection : __dict__, __name__, __module__, __bases__properties, examining class/object structure
writing and using constructors
hasattr(), type(), issubclass(), isinstance(), super() functions
Abstraction, Encapsulation, Inheritance
inheritance and overriding, finding class/object components
single inheritance vs. multiple inheritance
name mangling
Polymorphism
Method Overriding, method Overloading
Operator Overloading
return and yield keywords, returning results
the None keyword
converting generator objects into lists ising the list() functions
import directives, qualifying entities with module names, initializing modules
writing and using modules, the __name__ variable
pyc file creation and usage
constructing and distributing packages, packages vs. directories, the role of the __init__.py file
hiding module entities
Python hashbangs, using multiline strings as module documentation