Python Fundamentals: Mastering the Building Blocks of Programming

Python Fundamentals: Mastering the Building Blocks of Programming

Fundamentals of Python consists of a discussion of basic building blocks of the Python programming language. Here, “Python Fundamentals: Mastering the Building Blocks of Programming” is divided into the following categories. And we will be discussing each topic separately.


  • Statements
  • Expressions
  • Assignment Statements
  • Indentations
  • Comments
  • Single-line comments
  • Multi-line comment
  • doc-staring comments
  • Variables
  • Constants
  • Tokens
  • Identifiers
  • Keywords
  • Literals
  • Operators

First and foremost, we will be discussing statements in Python.

Statements

Python statements are nothing but logical instructions that interpreters can read and execute. It can be both single and multiline.

There are two categories of statements in Python:

  • Expression Statements
  • Assignment Statements


No alt text provided for this image
Statements

Expression Statement:

With the help of expressions, we perform operations like addition, subtraction, concentration etc.

In other words, it is a statement that returns a value.

it is an expression if it appears-

  • On the right side of an assignment,
  • As a parameter to a method call.

Note: An expression must have a return.

Example:

  • Using simple arithmetic expression:

(1+5) * 3
18        

  • Using a function in an expression:

pow (3,2)
9        

Assignment Statements

With the help of?assignment statements, we create new variables, assign values and also change values.

Structure of an assignment statement syntax:

#LHS <=> RHS

variable = expression

We can categorize Assignment statements into three primary categories based on what’s on the Right-Hand Side of the statement.

  • Value-Based Expression on RHS
  • Current Variable on RHS
  • Operation on RHS

Value-Based Expression on the RHS:

In this case, Python allocates a new memory location to the newly assigned variable.

Let us take an example of this category.

  • First, let’s create a string and assign it to a variable “test”,
  • Then, we will check the memory location id python has assigned for the variable

test= "Hello World"
id(test)        

Note:

Look at the example shown below:

test1="Hello"
id(test1)
output:
2524751071304
test2="Hello"
id(test2)
output:
2524751071304        

As you might have noticed that?we have assigned the same string to two different variables. But python allocated the same memory location for both the variables. That is because:

Python allocates the same memory location for the two cases mentioned below:

  • If the strings with less than 20 characters that don’t have white spaces and
  • Integers ranging between (-5 to +255).

This concept used by Python to save memory is also called?Interning.

Current Python variable on RHS:

In this case, Python doesn’t allocate a new memory location.

Let’s understand that with the help of an example:

current_var= "It's HumbleGumble"
print(id(current_var))
new_var= current_var
print(id(new_var))
24751106240
2524751106240        

As you can see we have the same location id allotted for the two variables.

Preparing for Python Interviews? Check out?Python Interview Questions?that will help you land your dream job.

Operation on RHS:

In this category, we have an operation on the right side of the statement, which is the defining factor of the type of our statement.

Let’s understand that with the help of an example:

test= 7 * 2
type(test)
int
test1= 7 * 2 / 10
type(test1)
output:
float        

Multiline statements

There are two ways to define multiline statements.

  • Implicit Method
  • Explicit Method

The end of a statement in python is considered as a newline character, to extend the statements over multiple lines we can use two methods.

  • Implicit: By using parenthesis like (), {} or [].

e.g.

a = (0 + 1 + 2 + 
??? 3 + 4 + 5)        

  • Explicit: By using continuation character “\”.

a = 0 + 1 + 2 + \
??? 3 + 4 + 5        

Indentation

Unlike most programming languages?python uses indentation to mark a block of code. According to python style guidelines or PEP8, you should keep an indent size of four.

Comments

Comments are nothing but tagged lines of in codes which increases the readability of the code and make the code self-explanatory.?Comments?can be of two categories:

Single-line comments:

With the help of one ‘#’, we begin a single-line comment

Example:

test= 7 * 2
type(test)        

#Single-line comment

Multi-line comments:

With the help of ‘‘‘… ’’,’ we write multiline comments in python.

Example:

test1= 7 * 2 / 10
type(test1)
'''
line one
line two
line three
'''        

Docstring comments:

Python has the documentation strings (or docstrings) feature. It gives programmers an easy way of adding quick notes with every Python module, function, class, and method.

The strings defined using the triple-quotation mark are multiline comments. However, if such a string is placed immediately after a function or class definition or on top of a module, then they turn into docstrings.

Example:

def SayFunction():
??? '''
??? Strings written using '''_''' after a function represents docstring of func
??? Python docstrings are not comments
??? '''
??? print("just a docstring")
print("Let us see how to print the docstring value")
print(theFunction.__doc__)        

Variables:

A variable is a memory address that can change and when a memory address cannot change then it is known as constant. Variable is the name of the memory location where data is stored. Once a variable is stored then space is allocated in memory. It defines a variable using a combination of numbers, letters, and the underscore character.

Assigning Values to Variables

There is no need for an explicit declaration to reserve memory. The assignment is done using the equal (=) operator. Some examples of legal?python variables?are –

i = 1
j = 2        

Multiple Variable Assignment:

You can assign a single value to the multiple variables as follows –

a=2        

Also, we can assign multiple values to the multiple variables as follows –

a, b, c = 2, 25, ‘abc’        

Note: Python is a type inferred language i.e. it automatically detects the type of assigned variable.

For instance,

test=1
type(test)
output:
int
test1="String"
type(test1)
output:
str        

Constants:

Constant is a type of variable that holds values, whose value cannot be changed. In reality, we rarely use constants in python.

Assigning a value to a constant in Python

  • Constants are usually declared and assigned on a different module/file.

#Declare constants in a separate file called constant.py

PI = 3.14

GRAVITY = 9.8        

  • Then import it to the main file.

#inside main.py we import the constants

import constant

print(constant.PI)
print(constant.GRAVITY)        

Token

Tokens are the smallest unit of the program. There are the following tokens in Python:

  • Reserved words or Keywords
  • Identifiers
  • Literals
  • Operators

No alt text provided for this image

Keywords:

Keywords are nothing but a set of special words, which are reserved by python and have specific meanings. Remember that we are not allowed to use keywords as variables in python.

Keywords in python are case sensitive.

We’ve just captured here a snapshot of the possible Python keywords.

help> keywords
Here is a list of the Python keywords.? Enter any keyword to get more help.
False????????????? def?????????????? if?????????????????? raise
None????????????? del?????????????? import?????????? return
True?????????????? elif??????????????? in????????????????? try
and?????? ?????????else????????????? is????????????????? while
as????????????????? except????????? lambda???????? with
assert??????????? finally??????????? nonlocal?????? yield
break???????????? for???????????????? not
class????????????? from?????? ???????or?????????????????continue???????? global?????????? pass        

Identifiers

Identifiers in python are nothing but user-defined names to represent programmable entities like variables, functions, classes, modules or any other objects.

But there are a few rules that we need to follow while defining an identifier. They are:

  • You can use a sequence of letters (lowercase (a to z) or uppercase (A to Z)). You can also mix up digits (0 to 9) or an underscore (_) while defining an identifier.
  • You can’t use digits to begin an identifier name.
  • You should not use Reserved Keywords to define an identifier.
  • Other than underscore (_) you are not allowed to use any other special characters.
  • Even though python doc says that you can name an identifier with unlimited length. But it is not entirely true.

Using a large name (more than 79 chars) would lead to the violation of a rule set by the PEP-8 standard. It says.

Literals:

The other built-in objects in python are Literals. Literals can be defined as data that is given in a variable or constant. Python has the following literals:

String Literals:

A string literal is a sequence of characters surrounded by quotes. We can use both single, double, or triple quotes for a?string in Python. And, a character literal is a single character surrounded by single or double-quotes.

Numeric Literals:

Numeric Literals are immutable (unchangeable). Numeric literals can belong to 3 different numerical types Integer, Float, and Complex.

Boolean Literals:

A Boolean literal can have any of the two values: True or False.

Collection literals:

There are four different literal collections List literals, Tuple literals, Dict literals, and Set literals.?

Special literals:

Python contains one special literal i.e. None. We use it to specify that field that is not created.

Operators:

Operators are the symbols that perform the operation on some values. These values are known as operands.

In Python, operators are categorized into the following categories:

  • Arithmetic Operators
  • Comparison Operators
  • Assignment Operators
  • Logical Operators
  • Membership Operators
  • Identity Operators
  • Bitwise Operators
  • Ternary Operators

Arithmetic Operators

  1. Arithmetic Operators:

  • Addition: + (e.g., a + b)
  • Subtraction: - (e.g., a - b)
  • Multiplication: * (e.g., a * b)
  • Division: / (e.g., a / b)
  • Floor Division: // (e.g., a // b)
  • Modulo (Remainder): % (e.g., a % b)
  • Exponentiation: ** (e.g., a ** b)

Comparison Operators:

  • Equal to: == (e.g., a == b)
  • Not equal to: != (e.g., a != b)
  • Greater than: > (e.g., a > b)
  • Less than: < (e.g., a < b)
  • Greater than or equal to: >= (e.g., a >= b)
  • Less than or equal to: <= (e.g., a <= b)

Assignment Operators:

  • Assign: = (e.g., a = 5)
  • Add and assign: += (e.g., a += 3 is equivalent to a = a + 3)
  • Subtract and assign: -= (e.g., a -= 2 is equivalent to a = a - 2)
  • Multiply and assign: *= (e.g., a *= 4 is equivalent to a = a * 4)
  • Divide and assign: /= (e.g., a /= 2 is equivalent to a = a / 2)
  • Modulo and assign: %= (e.g., a %= 3 is equivalent to a = a % 3)

Logical Operators:

  • Logical AND: and (e.g., a and b)
  • Logical OR: or (e.g., a or b)
  • Logical NOT: not (e.g., not a)

Bitwise Operators:

  • Bitwise AND: & (e.g., a & b)
  • Bitwise OR: | (e.g., a | b)
  • Bitwise XOR: ^ (e.g., a ^ b)
  • Bitwise NOT: ~ (e.g., ~a)
  • Left Shift: << (e.g., a << b)
  • Right Shift: >> (e.g., a >> b)

Membership Operators:

  • in: Evaluates whether an element is present in a sequence (e.g., x in list)
  • not in: Evaluates whether an element is not present in a sequence (e.g., x not in list)

Identity Operators:

  • is: Evaluates whether two objects are the same object (e.g., x is y)
  • is not: Evaluates whether two objects are not the same object (e.g., x is not y)

Ternary Conditional Operator:

  • value_if_true if condition else value_if_false
  • For example: x = 10 if a > b else 20


要查看或添加评论,请登录

社区洞察

其他会员也浏览了