Python is a high-level, general-purpose and a very popular programming language.It was created by Guido van Rossum in 1991. Python programming language (latest Python 3) is being used in web development, Machine Learning applications, along with all cutting edge technology in Software Industry. Python Programming Language is very well suited for Beginners, also for experienced programmers with other programming languages like C++ and Java.
Premitive | Non-Premitive | |
---|---|---|
Built-in | User-defined | |
Integer | List | Stack |
Float | Tuple | Queue |
String | Dictionary | Tree |
Boolean | Set | Graph |
Below are some facts about Python Programming Language:
-
Python is currently the most widely used multi-purpose,high-level programming language.
-
Python allows programming in Object-Oriented and Procedural paradigms.
-
Python programs generally are smaller than other programming languages like Java. Programmers have to type relatively less and indentation requirement of the language,makes them readable all the time.
-
Python language is being used by almost all tech-giant companies like-Google,Amazon, Facebook,Instagram,Dropbox,Uber ... etc.
-
The biggest strength of Python is huge collection of standard library which can be used for the following:
- Machine Learning GUI Applications(like Kivy,Tkinter,PyQt etc.)
- Web frameworks like Django(used by YouTube,Instagram,Dropbox)
- Image processing(like OpenCV,Pillow)
- Web scraping(like Scrapy,BeautifulSoup,Selenium)
- Test frameworks
- Multimedia
- Scientific computing
- Text processing and many more ..
- Presence of third-party modules
- Extensive support libraries(NumPy for numerical calculations, Pandas for data analytics, etc.)
- Open source and large active community base
- Versatile, Easy to read, learn and write
- User-friendly data structures
- High-level language
- Dynamically typed language(No need to mention data type based on the value assigned, it takes data type)
- Object-Oriented and Procedural Programming language Portable and Interactive
- Ideal for prototypes – provide more functionality with less coding
- Highly Efficient(Python’s clean object-oriented design provides enhanced process control, and the language is equipped with excellent text processing and integration capabilities, as well as its own unit testing framework, which makes it more efficient.)
- Internet of Things(IoT) Opportunities
- Interpreted Language
- Portable across Operating systems
-
Slow Speed We discussed above that Python is an interpreted language and dynamically-typed language. The line by line execution of code often leads to slow execution. The dynamic nature of Python is also responsible for the slow speed of Python because it has to do the extra work while executing code. So, Python is not used for purposes where speed is an important aspect of the project.
-
Not Memory Efficient To provide simplicity to the developer, Python has to do a little tradeoff. The Python programming language uses a large amount of memory. This can be a disadvantage while building applications when we prefer memory optimization.
-
Weak in Mobile Computing Python is generally used in server-side programming. We don’t get to see Python on the client-side or mobile applications because of the following reasons. Python is not memory efficient and it has slow processing power as compared to other languages.
-
Database Access Programming in Python is easy and stress-free. But when we are interacting with the database, it lacks behind. The Python’s database access layer is primitive and underdeveloped in comparison to the popular technologies like JDBC and ODBC. Huge enterprises need smooth interaction of complex legacy data and Python is thus rarely used in enterprises.
-
Runtime Errors As we know Python is a dynamically typed language so the data type of a variable can change anytime. A variable containing integer number may hold a string in the future, which can lead to Runtime Errors.
Therefore Python programmers need to perform thorough testing of the applications.
- GUI-based desktop applications
- Graphic design, image processing applications, Games, and Scientific/ computational Applications
- Web frameworks and applications
- Enterprise and Business applications
- Operating Systems
- Education
- Database Access
- Language Development
- Prototyping
- Software Developmen
- Google(Components of Google spider and Search Engine)
- Yahoo(Maps)
- YouTube
- Mozilla
- Dropbox
- Microsoft
- Cisco
- Spotify
- Quora
There are no separate compilation and execution steps likeCandC++.
- Directly run the program from the source code.
- Internally,Python converts the source code into an intermediate form called bytecodes which is then translated into native language of specific computer to run it.
- No need to worry about linking and loading with libraries,etc.
- Python programs can be developed and executed on multiple operating system platforms.
- Python can be used on Linux,Windows,Macintosh,Solaris and many more.
- In Python,no need to take care about low-level details such as managing the memory used by the program.
- Closer to English language;Easy to Learn.
- More emphasis on the solution to the problem rather than the syntax.
- Python can be used with in C/C++ program to give scripting capabilities for the program's users.
- Exceptional handling features
- Memory management techniques in built
- The Python Standard Library is very vast.
- Known as the"batteries included"philosophy of Python;It can help do various things involving regular expressions,documentation generation,unit testing, threading,databases,web browsers CGI,email,XML,HTML,WAV files, cryptography,GUI and many more.
- Besides the standard library,there are various other high-quality libraries such as the Python Imaging Library which is an amazingly simple image manipulation library.
Method | Description |
---|---|
🟥Adding and Removing Elements | |
append(x) |
Add an element x to the end of the list. |
clear() |
Remove all items from the list. |
copy() |
Return a shallow copy of the list. |
extend(iterable) |
Extend the list by appending all elements from an iterable (like another list or tuple). |
insert(i, x) |
Insert an element x at a given position i . The first argument is the index of the element before which to insert. |
pop(i=-1) |
Remove and return the element at index i (defaults to the last element). |
remove(x) |
Remove the first item from the list whose value is equal to x . Raises a ValueError if there is no such item. |
🟥Ordering and Searching | |
count(x) |
Return the number of occurrences of element x in the list. |
index(x, i=0, j=len(list)) |
Return the index of the first occurrence of element x within the range [i, j) . Raises a ValueError if there is no such item. |
reverse() |
Reverse the elements of the list in place. |
sort(key=None, reverse=False) |
Sort the items of the list in place (ascending by default). You can optionally provide a custom key function and specify reverse order. |
🟥Other List Operations | |
__contains__(x) |
Check if an element x is present in the list (same as in operator). |
__getitem__(i) |
Access elements by index. |
__setitem__(i, x) |
Assign elements to a specific index. |
__delitem__(i) |
Remove elements at a specific index. |
__len__() |
Return the length (number of elements) of the list. |
🟥Additional Methods | |
all(iterable) |
Return True if all elements of an iterable are true (often used with lists). |
any(iterable) |
Return True if any element of an iterable is true (often used with lists). |
enumerate(iterable, start=0) |
Return an enumerate object that yields pairs of (index, value) for elements in an iterable (like a list). |
filter(function, iterable) |
Construct an iterator from elements of an iterable for which a function returns True (often used with lists). |
map(function, iterable1, ...) |
Apply a function to all elements of an iterable (like a list) and return an iterator. |
min(iterable) |
Return the smallest item in an iterable (or the list). |
max(iterable) |
Return the largest item in an iterable (or the list). |
sum(iterable, start=0) |
Return the sum of elements of an iterable (like a list) or the start value. |
sorted(iterable, key=None, reverse=False) |
Return a new sorted list from the items in an iterable (like a list). |
Method | Description |
---|---|
🟥String Manipulation | |
Slicing | Extract substrings using square brackets [] . |
Concatenation | Combine strings using the + operator. |
Membership Testing | Check if a substring exists using the in operator. |
Formatting | Create formatted strings with f-strings or the .format() method. |
🟥Case Conversion | |
upper() |
Convert all characters to uppercase. |
lower() |
Convert all characters to lowercase. |
title() |
Convert the first character of each word to uppercase. |
capitalize() |
Convert the first character of the string to uppercase. |
swapcase() |
Swap the case of all characters. |
🟥Whitespace Removal | |
strip() |
Remove leading and trailing whitespaces. |
lstrip() |
Remove leading whitespaces. |
rstrip() |
Remove trailing whitespaces. |
🟥Searching and Replacing | |
find(substring) |
Find the index of the first occurrence of a substring. |
rfind(substring) |
Find the index of the last occurrence of a substring. |
count(substring) |
Count the number of occurrences of a substring. |
replace(old, new, count) |
Replace occurrences of a substring with another substring (optional count). |
🟥Splitting and Joining | |
split(sep) |
Split a string into a list of substrings using a separator. |
rsplit(sep) |
Split a string into a list of substrings, starting from the end. |
join(iterable) |
Join elements from an iterable (like a list) into a string using a separator. |
🟥Alignment | |
center(width, fillchar) |
Center-align the string within a specified width using a fill character. |
ljust(width, fillchar) |
Left-justify the string within a specified width using a fill character. |
rjust(width, fillchar) |
Right-justify the string within a specified width using a fill character. |
🟥Other Methods | |
isalnum() |
Check if all characters are alphanumeric. |
isalpha() |
Check if all characters are alphabetic. |
isdigit() |
Check if all characters are digits. |
islower() |
Check if all characters are lowercase. |
isupper() |
Check if all characters are uppercase. |
isspace() |
Check if all characters are whitespace. |
istitle() |
Check if the string is in title case. |
isidentifier() |
Check if the string is a valid identifier. |
zfill(width) |
Fill the string with zeros on the left side to a specified width. |
expandtabs(tabsize) |
Expand tabs in the string to spaces (default tab size is 8). |
encode(encoding) |
Encode the string using a specified encoding (e.g., 'utf-8'). |
decode(encoding) |
Decode the string using a specified encoding (e.g., 'utf-8'). |
partition(sep) |
Partition the string into three parts: a part before the first occurrence of sep, sep itself, and a part after sep. |
rpartition(sep) |
Partition the string from the right. |
startswith(prefix) |
Check if the string starts with a specified prefix. |
endswith(suffix) |
Check if the string ends with a specified suffix. |
index(substring) |
Similar to find(), but raises a ValueError if the substring is not found. |
casefold() |
Convert string to lowercase, suitable for case-insensitive comparisons. |
format_map(mapping) |
Format the string using a mapping dictionary. |
Method | Description |
---|---|
🟥Adding and Removing Items | |
clear() |
Remove all items from the dictionary. |
copy() |
Return a shallow copy of the dictionary. |
fromkeys(iterable, value=None) |
Create a new dictionary with keys from iterable and values set to value (defaults to None). |
pop(key, default=None) |
Remove the item with the given key and return its value. If the key is not found, return the default value (defaults to None). |
popitem(last=True) |
Remove and return a (key, value) pair from the dictionary. By default, removes the last inserted pair. You can set last=False to remove from the beginning. |
setdefault(key, default=None) |
Return the value for the key if it exists. Otherwise, insert the key with the default value and return that value. |
🟥Retrieving and Modifying Values | |
get(key, default=None) |
Return the value for the key if it exists. Otherwise, return the default value (defaults to None). |
items() |
Return a view object of the dictionary's key-value pairs as tuples. |
keys() |
Return a view object of the dictionary's keys. |
update(other, **kwargs) |
Update the dictionary with key-value pairs from another dictionary (other ) and optional keyword arguments (**kwargs ). |
values() |
Return a view object of the dictionary's values. |
🟥Membership and Lookups | |
__contains__(key) |
Check if a key exists in the dictionary (same as in operator). |
__getitem__(key) |
Get the value for the key. Raises a KeyError if the key is not found. |
🟥Other Methods | |
__setitem__(key, value) |
Assign a value to a key. |
__delitem__(key) |
Remove the key and its corresponding value. Raises a KeyError if the key is not found. |
__len__() |
Return the number of items in the dictionary. |
🟥Additional Considerations | |
Dictionary methods typically return view objects, which provide a dynamic view of the dictionary's contents. Modifying the dictionary while iterating over a view object might raise errors. Consider creating a copy of the view object or the dictionary itself if you need to modify it during iteration. |
Method | Description |
---|---|
count(x) |
This method counts the number of occurrences of the element x within the tuple. |
Example: my_tuple = (1, 2, 3, 2, 1) count(2) will return 2 |
|
index(x, start=0, end=len(tuple)) |
This method returns the index of the first occurrence of the element x within the specified range [start, end] . Raises a ValueError if the element is not found. |
Example: my_tuple = ("apple", "banana", "cherry", "banana") index("banana") will return 1 (index of the first "banana") index("banana", 2) will return 3 (index of the second "banana") |
|
🟥Additional Considerations | |
Since tuples are immutable, methods like append , insert , remove , or pop (used for modifying lists) are not available for tuples. |
|
You can use techniques like creating a new tuple with the desired modifications or converting the tuple to a list, modifying the list, and then converting it back to a tuple if needed. | |
For more information on tuples and their properties, you can refer to the official Python documentation. |
Method | Description |
---|---|
🟥Adding Elements | |
add(element) |
Adds an element to the set. Since sets cannot have duplicates, if the element already exists, nothing happens. |
🟥Removing Elements | |
clear() |
Removes all elements from the set. |
discard(element) |
Removes the element from the set if it exists. If the element is not present, no error is raised (unlike remove ). |
pop(element=None) |
Removes and returns an arbitrary element from the set. Raises a KeyError if the set is empty. You can optionally specify an element to remove, but if it's not found, a KeyError is still raised. |
remove(element) |
Removes the element from the set. Raises a KeyError if the element is not present. |
🟥Modifying Sets | |
update(iterable) |
Updates the set by adding elements from an iterable (like another set or list). Duplicates are removed. |
🟥Set Operations (Return New Sets) | |
difference(other) |
Returns a new set with elements in the first set but not in other . |
difference_update(other) |
Removes elements from the set that are also in other . Modifies the original set. |
intersection(other) |
Returns a new set with elements common to both sets. |
intersection_update(other) |
Updates the set to contain only elements also present in other . Modifies the original set. |
symmetric_difference(other) |
Returns a new set with elements that are in either set but not in both. |
symmetric_difference_update(other) |
Updates the set with elements that are in either set but not in both. Modifies the original set. |
union(other) |
Returns a new set with elements from both sets. Duplicates are not removed. |
isdisjoint(other) |
Returns True if the sets have no common elements, False otherwise. |
issubset(other) |
Returns True if all elements in the set are also in other , False otherwise. |
issuperset(other) |
Returns True if all elements in other are also in the set, False otherwise. |
🟥Other Methods | |
copy() |
Returns a shallow copy of the set. |
pop() |
Same as the pop method mentioned earlier (removes and returns an arbitrary element). |
🟥Additional Considerations | |
Since sets are unordered collections, the order in which elements are added or removed might not be reflected in the set's contents. Methods that return new sets (difference , intersection , symmetric_difference , and union ) create new sets without modifying the original ones. |