About Python, Variables & types, Operators, Type Conversion

4.6/5 - (8 votes)

Python Comments

Comments start with a # in Python

Variables and Assignment Operators

Unlike other programming languages (ex PHP, with $), Python has no command for declaring a variable. A variable is created at the moment you first assign a value to it.

Variables don’t need to be declared with any particular type and You can change the type after they have been set.

month = 3
month = "march"
#Result: march

Assign value to Multiple Variables

Python allows you to assign values to multiple variables in one line:

x, y, z = 1, 2, 3

Rules for Python variables:

The pythonic way to name variables is to use all lowercase letters and underscores to separate words (ex my_age = 45).

  • Must start with a letter or the underscore.
  • Can use only letters, numbers, and underscores in your variable names. They can’t have spaces.
  • Can’t use reserved words or built-in identifiers
  • The pythonic way to name variables is to use all lowercase letters and underscores to separate words (ex my_age = 45).

!!Variable names are Case Sensitive in Python

Re-declaring a variable works

x = 0

x = "abc"

Variables of different types cannot be combined

print("this is a string " + 789)
#TypeError: can only concatenate str (not "int") to str

#instead use
print("this is a string" + str(789))

del keyword

The del keyword is used to delete objects. Because in Python everything is an object, the del keyword can also be used to delete variables, lists, etc.

x = "abc"
del x

#NameError: name 'x' is not defined

Scientific notation

In scientific notation, all numbers are written in the form: m × 10n

7.33e2 is equal to 7.33 * 10 ** 2 which is equal to 733

Integers and Floats

int – for integer values
float – for a decimal or floating-point values

Floating points numbers are approximations!

x = 3 = integer
y = 4.0 – float
y = 4. – float

print(3/4) – 0.75 – float

Even one integer divided by another integer exactly, the result will be float

print(4/4) / 1.0 – float

You can create a value that follows the data type by using the following syntax:

x = int(4.7) # x is now an integer 4
The part after the decimal is cut
y = float(4) # y is now a float of 4.0

You can check the type by using the type function:

# int
# float

Variable assignment

If you’ve programmed in certain other languages (like Java or C++), you might be noticing some things Python doesn’t require:

Don’t need to “declare” a variable before assigning to it.

Don’t need to tell Python what type of value a variable is going to refer to. In fact, we can reassign a variable to refer to a different sort of thing like a string, a float, or a boolean.

How to swap 2 variables(a,b) between them?

The most straightforward solution is to use a third variable to temporarily store one of the old values. e.g.:

tmp = a
a = b
b = tmp

or You can swap the two variables in one line:

a, b = b, a

Blocks and scope in Python

Blocks in Python are indicated by indentation.
Very important!

Blocks do not define the scope in Python. Functions, objects, and modules do define the scope in Python.

Constants in Python

In other programming languages we can create constant values in different ways, e.g.:

in Java
public static final String CONST_NAME = “Name”;

in PHP
define(“GREETING”, “Hello!”);

How to declare constant in Python?

You cannot declare a variable or value as constant in Python.

Just don’t change it, e.g:


If you are in a class, the equivalent would be:

class myClass():
    CONST_NAME = “Name”


Python Arithmetic Operators

+ Addition
* Multiplication
/ Division
% Modulus
** Exponentiation
// Floor division

Gives the result rounded down to the next integer.

In Python, there are two kinds of division: integer division and float division.

print(4 / 3)
print(4 // 3)

Gives the output in Python 3


Python Logical Operators

and Returns True if both statements are true
or Returns True if one of the statements is true
not Reverse the result, returns False if the result is true

Python uses and, not and or conditionals, instead of &&, ! or ^^.

What is the value of this expression?

True or True and False

The expression is evaluated as True, because and is evaluated before or.

If we evaluated it from left to right, we would have calculated True or True first (which is True) and then taken the and of that result with False, giving a final value of False.

PHP logical operators

$a and $b 	And 	TRUE if both $a and $b are TRUE.
$a or $b 	Or 	TRUE if either $a or $b is TRUE.
$a xor $b 	Xor 	TRUE if either $a or $b is TRUE, but not both.
! $a 	Not 	TRUE if $a is not TRUE.
$a && $b 	And 	TRUE if both $a and $b are TRUE.
$a || $b 	Or 	TRUE if either $a or $b is TRUE.

Python Identity Operators

In Python Identity operators are

is – evaluates if both sides have the same identity. Is operator is stronger than ==.

is not – evaluates if both sides have different identities

!Comparisons to singletons like None should always be done with ‘is’ or ‘is not’, never with the equality operators. Read more here – Style Guide for Python Code

someobj = None
if not someobj:
#do something


a = [1, 1, 2]
b = a

print(a == b)
# True

print(a is b)
# True

4.0 == 4
# True

'4' == 4
# False

List a and list b are equal and identical.

a = [1, 1, 2]
b = [1, 1, 2]

print(a == b)
# True They have the same content!

print(a is b)
# False

They have the same content but point to two different objects, so they aren’t identical objects.

a = [1, 1, 2]
b = [1, 1, 2, 4]

print(a == b)
# False They don't have the same content!

print(a is b)
# False They don't have the same content and point to different objects!

In PHP identical operator is ===

In PHP the Identical operator is the triple equal sign “===”

This operator returns true if both variable contains same information and same data types otherwise return false.

Why is === faster than == in PHP?

=== is faster because don’t converts the data type to see if two variables have same value

Python Bitwise Operators

& AND (Sets each bit to 1 if both bits are 1)
| OR (Sets each bit to 1 if one of two bits is 1)
^ XOR (Sets each bit to 1 if only one of two bits is 1)
~ NOT (Inverts all the bits)
<< Zero fill left shift (Shift left by pushing zeros in from the right and let the leftmost bits fall off)
>> Signed right shift (Shift right by pushing copies of the leftmost bit in from the left, and let the rightmost bits fall off)

Divide By Zero in Python

What happens if you divide by zero in Python?

ZeroDivisionError: division by zero

Python Booleans

You can evaluate any expression in Python, and get one of two answers, True or False.

bool() function

The bool() function allows you to evaluate any value, and give you True or False in return

# True
# True

# all numbers are treated as true, except 0

# all strings are treated as true, except the empty string “”

We can use non-boolean objects in if conditions and other places where a boolean would be expected. Python will treat them as their corresponding boolean value:

if 0:
elif "spam":

# xyz

None Keyword

The None keyword is used to define a null value or no value at all.
None is a variable, a value, that we can distinctly detect differently than numbers.

None is not the same as 0, False, or an empty string. None is a datatype of its own (NoneType) and only None can be None.

x = None


How do we get data from the user in Python?

You can read data from the user using the input() function.
The input() function returns a string!

name = input(“What is Your name?”)

Even if the user will tipe “123” the result will be string, not int!


Strings in Python are arrays of bytes representing Unicode characters.

In Python, You can define a string with either double quotes ” or single quotes ‘.

In Python, a string is immutable. You cannot overwrite the values of immutable objects.

Read more here about Working with strings in Python ✅ Methods, Slicing, String Mutations ✅ Exercises, and examples

Type & Type Conversion

int + float = float

print(.1 + .1 + .1 + .1 == .4)

Because the float, 0.1 is actually slightly more than 0.1.
When we add several of them together will see the difference between the mathematically correct answer and the one that Python creates.

print(0 + 7)
# 7
print("0" + "7")
# 07
print("0" + 7)
# TypeError: can only concatenate str (not "int") to str
print(0 + "7")
TypeError: unsupported operand type(s) for +: 'int' and 'str'

type() function

The type() function returns the type of the specified object

# <class 'int'>
# <class 'str'>
# <class 'float'>

Type Conversion

You can convert from one type to another with the int(), float(), str() and complex() methods:

#convert from float to int:
a = int(2.0)
# <class 'int'>
#convert from string to int:
a = str(10)
# <class 'str'>

Hello there!

I hope you find this post useful!

I'm Mihai, a programmer and online marketing specialist, very passionate about everything that means online marketing, focused on eCommerce.

If you have a collaboration proposal or need helps with your projects feel free to contact me. I will always be glad to help you!

subscribe youtube

Leave a Comment