Python Questions
5.34K subscribers
1 photo
7 links
Tasks for Beginners, Interview Questions, Regular expressions, simple coding problems, Quiz etc.

Useful Resources — »»» @python_resources_iGnani
Projects for Practice — »»» @python_projects_repository
Discussion Forum — »»» @python_programmers_club
Download Telegram
*

myList = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4,5,5,6,7,6,5]

A) Write a program to get the value that appears more number of times
B) When there is a tie, then get the number which is the smallest of them

#python #practiceCode #samples #interviewQuestions #numbers #list
*

name = 'ppy!'
Write code to insert the letter 'a' in-between each letter to form the word 'papaya!'

#python #practiceCode #samples #interviewQuestions #strings #list
.

a = 1
b = 2
Swap the values without using an additional variable.

#python #practiceCode #samples #interviewQuestions
#interviewQuestions : 0001

What is Python?
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics, automatic memory management.
#interviewQuestions : 0002

Explain the features of Python / Say something about the benefits of using Python?

Python is a MUST for students and working professionals to become a great Software Engineer specially when they are working in Web Development Domain. I will list down some of the key advantages of learning Python:

Simple and easy to learn:
* Learning python programming language is easy and fun.
* Compared to other language, like, Java or C++, its syntax is a way lot easier.
* You also don’t have to worry about the missing semicolons (;) in the end!
* It is more expressive means that it is more understandable and readable.
* Python is a great language for the beginner-level programmers.
* It supports the development of a wide range of applications from simple text processing to WWW browsers to games.
* Easy-to-learn − Python has few keywords, simple structure, and a clearly defined syntax. This makes it easy for Beginners to pick up the language quickly.
* Easy-to-read − Python code is more clearly defined and readable. It's almost like plain and simple English.
* Easy-to-maintain − Python's source code is fairly easy-to-maintain.


Features of Python
Python is Interpreted
* Python is processed at runtime by the interpreter.
* You do not need to compile your program before executing it. This is similar to PERL and PHP.

Python is Interactive
* Python has support for an interactive mode which allows interactive testing and debugging of snippets of code.
* You can open the interactive terminal also referred to as Python prompt and interact with the interpreter directly to write your programs.

Python is Object-Oriented
* Python not only supports functional and structured programming methods, but Object Oriented Principles.

Scripting Language
* Python can be used as a scripting language or it can be compliled to byte-code for building large applications.

Dynammic language
* It provides very high-level dynamic data types and supports dynamic type checking.

Garbage collection
* Garbage collection is a process where the objects that are no longer reachable are freed from memory.
* Memory management is very important while writing programs and python supports automatic garbage collection, which is one of the main problems in writing programs using C & C++.

Large Open Source Community
* Python has a large open source community and which is one of its main strength.
* And its libraries, from open source 118 thousand plus and counting.
* If you are stuck with an issue, you don’t have to worry at all because python has a huge community for help. So, if you have any queries, you can directly seek help from millions of python community members.
* A broad standard library − Python's bulk of the library is very portable and cross-platform compatible on UNIX, Windows, and Macintosh.
* Extendable − You can add low-level modules to the Python interpreter. These modules enable programmers to add to or customize their tools to be more efficient.

Cross-platform Language
* Python is a Cross-platform language or Portable language.
* Python can run on a wide variety of hardware platforms and has the same interface on all platforms.
* Python can run on different platforms such as Windows, Linux, Unix and Macintosh etc.
#interviewQuestions : 0003

What is Python good for?

Python is a high-level general-purpose programming language that can be applied to many different classes of problems.

The language comes with a large standard library that covers areas such as string processing (regular expressions, Unicode, calculating differences between files), Internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP, CGI programming), software engineering (unit testing, logging, profiling, parsing Python code), and operating system interfaces (system calls, filesystems, TCP/IP sockets). Look at the table of contents for The Python Standard Library to get an idea of what’s available. A wide variety of third-party extensions are also available.
#interviewQuestions : 0004

Is Python a Scripting Language?

Python is capable of scripting, but it is more than that. It is considered as a general-purpose programming language.
#interviewQuestions : 0005

Is Python interpreted or compiled?

A common question: “Is Python interpreted or compiled?” Usually, the asker has a simple model of the world in mind, and as is typical, the world is more complicated.
In the simple model of the world, “compile” means to convert a program in a high-level language into a binary executable full of machine code (CPU instructions). When you compile a C program, this is what happens. The result is a file that your operating system can run for you.

In the simple definition of “interpreted”, executing a program means reading the source code a line at a time, and doing what it says.
Compiling is a more general idea: take a program in one language (or form), and convert it into another language or form.
In Python, the source code is compiled into a much simpler form called bytecode. These are instructions similar in spirit to CPU instructions, but instead of being executed by the CPU, they are executed by software called a virtual machine.

So, if you can explain all this, then you can say its both a compiled and interpreted language.

But, if you want to give a simple and short answer, then say it is a interpreted language.
#interviewQuestions : 0006

What is pep 8?

PEP 8, sometimes spelled PEP8 or PEP-8, is a document that provides guidelines and best practices on how to write Python code. It was written in 2001 by Guido van Rossum, Barry Warsaw, and Nick Coghlan. The primary focus of PEP 8 is to improve the readability and consistency of Python code.

PEP stands for Python Enhancement Proposal, and there are several of them. A PEP is a document that describes new features proposed for Python and documents aspects of Python, like design and style, for the community.
#interviewQuestions : 0007

Q: What is the output of the following statement? Explain Why?
Q: Explain // and how it works?
Q: Explain Floor Division?

16//-3
Output: -6

// (Floor division)
It gives the floor value of the quotient produced by dividing the two operands. In other words, the floor division // rounds the result down to the nearest whole number.

print(x/y)
print(x//y)

Notice that we are using the same values for x and y operands. But the result is quite different between / and //.

When the result of floor division (//) is positive, it is as though the fractional portion is truncated off, leaving only the integer portion.
When the result is negative, the result is floored, i.e., rounded away from zero (towards negative infinity). In other words, rounded down to the next smallest (greater negative) integer.

Let us see some more examples.

print(float(x)//float(y)) # Notice the result will also be a float.

x = -13 # Notice the value of `x` is assigned by with a unary negation (`-`) operator
y = 3
print(x//y) # Notice the result.

# Instead of rounding up to 4 like in the case of a positive result, it round up to -5, the lesser value

x= -13.0 # We changed the type of `x` from int to float. No change in value.
print(x//y) # What will be the result.

Unlike the standard division (/), the result is not always a float. But when one of the operands is a float, then the result will also be a float.

Division by zero will yield in the same error as above.
#interviewQuestions : 0008

Q: List.copy() does a shallow copy of the list, but when we check their id's they point to different address? Why?

A shallow copy means constructing a new collection object and then populating it with references to the child objects found in the original.

Hence, when you check their id's they both point to different address.

check out this code
L1 = 1, 2, 3, 4

# Using copy() to create a shallow copy
L2 = L1.copy()

print(id(L1), id(L2))
>>> 2763664559240 2763665433480
In the above result, address are different, they both point to different locations.


But, the elements will be pointing to the same objects in both the lists.
Check this code:

print(id(L10), id(L20))
>>> 140703554137856 140703554137856

See the result, the elements point to the same address in memory.

#list #collection #shallowCopy
#interviewQuestions : 0009

Q: What can we do using Python
Q: Applications of Python
Q: Explain some of the areas where we can use Python

As mentioned before, Python is one of the most widely used language over the web.
It is known for its general purpose nature that makes it applicable in almost each domain of software development. Python as a whole can be used in any sphere of development.

To list few of them here:
○ Databases
Python provides interfaces to all major commercial databases. There by making it useful to create tools or GUI of databases, and also to use with an application which involves interacting with data.

○ Web Applications - We can use Python to develop web applications.
- It provides libraries to handle internet protocols such as HTML and XML, JSON, Email processing, request, beautifulSoup, Feedparser etc.
- There are many well-known web Frameworks such as Django, FastAPI, Pyramid, Flask etc to design and develop web based applications.

○ Desktop GUI Programming
- Python supports GUI applications that can be installed and run locally on systems like Windows, Linux, iOS etc.
- Python provides Tk GUI library to develop user interface in python based application.
- Some other useful toolkits wxWidgets, Kivy, pyqt that are useable on several platforms. The Kivy is popular for writing multitouch applications.

○ BigData and Data Science -
- Python and Big Data is an inseparable combination when we consider a programming language for big data development phase. Being Open Source, wide community, and a huge library, its best suited for Big Data projects.
- Python has become the number 1 language in Data Science projects.
- Some important packages Pandas, Numpy, SciPy, Theano, Scikit-learn, etc provide everything that a developer needs to work on Big Data and machine learning projects.
- PySpark is also an example of its use.
- Compatible with Hadoop. As Python big data is compatible, similarly Hadoop and big data are synonymous with each other. Hence, Python has been made inherently compatible with Hadoop to work with big data. Python consists of Pydoop package which helps in accessing HDFS API and also writing Hadoop MapReduce programming. Besides that Pydoop enables MapReduce programming to solve complex big data problems with minimal effort.
- An example is IBM using python, they even have a Python SDK for Watson, and they use python extensively.
- Netflix, Spotify use extensively for their recommendation and analytics engine.

○ Console Based Application - We can use Python to develop console based applications. IPython is the best example for this.

○ Multimedia Applications - Python is awesome to perform multiple tasks and can be used to develop audio and video applications.

○ Python is can also be used to develop
- 3D CAD Applications
- Enterprise Applications
- Image Processors and editors

There are several such applications which can be developed using Python
#interviewQuestions : 0010

Q: What is a Namespace in Python?

A namespace is basically a system to make sure that all the names of each and every object in a Python program are unique and can be used without any conflict.

You might already know that everything in Python like strings, lists, functions, etc. is an object. Python implements namespaces as dictionaries. There is a name-to-object mapping, with the names as keys and the objects as values. Multiple namespaces can use the same name and map it to a different object. Here are a few examples of namespaces:

Local Namespace: This namespace includes local names inside a function. This namespace is created when a function is called, and it only lasts until the function returns.

Global Namespace: This namespace includes names from various imported modules that you are using in a project. It is created when the module is included in the project, and it lasts until the script ends.

Built-in Namespace: This namespace includes built-in functions and built-in exception names.
#interviewQuestions : 0011

Q: Explain the following assignment?

x, y, z = 5, 10, 15
a = b = c = 0

a = x - z
x -= z

b = y - y + z
y -= (y + z)
print(b, y)

15 -15

Notice
the result in the here, it should be 15 and 15, but the value of y is -15.
Do you know why?
When the statements are evaluated, the statements are evaluated from left to right. But before that, anything within the braces are executed first.

So, in the first statement, since there is no curly braces, it first executes y - y and the result + z, this becomes 15
In the second statement, the expression within curly braces is executed, which is y + z, which comes to 25 and then now the expression becomes y -= 25, which is same as y = y- 25, hence the result -15.
#interviewQuestions : 0012

What is PYTHONPATH?

PYTHONPATH is an environment variable can be set, to add additional directories where python will look for modules and packages.

Whenever a module is imported, PYTHONPATH is also looked up to check for the presence of the imported modules in various directories. The interpreter uses it to determine which module to load.

For most installations, you should not set these variables since they are not needed for Python to run. Python knows where to find its standard library.

The only reason to set PYTHONPATH is to maintain directories of custom Python libraries that you do not want to install in the global default location (i.e., the site-packages directory).
#interviewQuestions : 0013

What are python modules?

Python modules are files containing Python code.

A module can define functions, classes and variables. A module can also include runnable code. Grouping related code into a module makes the code easier to understand and use.