Python Unit I
Python Unit I
• Python runs on an interpreter system, meaning that code can be executed as soon
as it is written. This means that prototyping can be very quick.
• Python can be treated in a procedural way, an object-oriented way or a functional
way.
Good to know
• The most recent major version of Python is Python 3. However, Python 2, although
not being updated with anything other than security updates, is still quite popular.
• Python will be written in a text editor. It is possible to write Python in an Integrated
Development Environment, such as Thonny, Pycharm, Netbeans or Eclipse which are
particularly useful when managing larger collections of Python files.
Python Syntax compared to other programming languages
• Python was designed for readability, and has some similarities to the English language
with influence from mathematics.
• Python uses new lines to complete a command, as opposed to other programming
languages which often use semicolons or parentheses.
• Python relies on indentation, using whitespace, to define scope; such as the scope of
loops, functions and classes. Other programming languages often use curly-brackets for
this purpose.
Example
• print("Hello, World!")
Python Comments
• #This is a comment
print("Hello, World!")
Comments can be placed at the end of a line, and Python will ignore the rest of the line:
A comment does not have to be text that explains the code, it can also be used to
prevent Python from executing code:
• #print("Hello, World!")
print("Cheers, Mate!")
Python Variables
• x=5
y = "John"
print(x)
print(y)
Variables do not need to be declared with any particular type, and can even change type
after they have been set.
• x=4 # x is of type int
x = "Sally" # x is now of type str
print(x)
Casting
• If you want to specify the data type of a variable, this can be done with casting.
• x = str(3) # x will be '3'
y = int(3) # y will be 3
z = float(3) # z will be 3.0
Get the Type
• You can get the data type of a variable with the type() function.
• x=5
y = "John"
print(type(x))
print(type(y))
Case-Sensitive
• A variable can have a short name (like x and y) or a more descriptive name (age,
carname, total_volume).
• Variable names with more than one word can be difficult to read.
• There are several techniques you can use to make them more readable:
Camel Case
Pascal Case
Snake Case
• you can assign the same value to multiple variables in one line:
• x = y = z = "Orange"
print(x)
print(y)
print(z)
Unpack a Collection
• If you have a collection of values in a list, tuple etc. Python allows you to extract the values into variables. This is
called unpacking.
Unpack a list:
• x = "Python"
y = "is"
z = "awesome"
print(x, y, z)
• x = "Python "
y = "is "
z = "awesome"
print(x + y + z)
For numbers, the + character works as a mathematical operator:
• x=5
y = 10
print(x + y)
In the print() function, when you try to combine a string and a number with
the + operator, Python will give you an error:
• x=5
y = "John"
print(x + y)
The best way to output multiple variables in the print() function is to separate them with
commas, which even support different data types:
• x=5
y = "John"
print(x, y)
Python - Global Variables
• Variables that are created outside of a function (as in all of the examples above) are known as global variables.
• Global variables can be used by everyone, both inside of functions and outside.
• Create a variable outside of a function, and use it inside the function
• x = "awesome"
def myfunc():
print("Python is " + x)
myfunc()
Python - Global Variables
• If you create a variable with the same name inside a function, this variable will be local, and can only be used inside the function. The global variable
with the same name will remain as it was, global and with the original value.
• Create a variable inside a function, with the same name as the global variable
• x = "awesome"
def myfunc():
x = "fantastic"
print("Python is " + x)
myfunc()
print("Python is " + x)
Python - The global Keyword
• Normally, when you create a variable inside a function, that variable is local, and can only be used inside that function.
• To create a global variable inside a function, you can use the global keyword.
• If you use the global keyword, the variable belongs to the global scope:
• def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
Python - The global Keyword
• Also, use the global keyword if you want to change a global variable inside a function.
• To change the value of a global variable inside a function, refer to the variable by using the global keyword:
• x = "awesome"
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
Built-in Data Types
• Int, or integer, is a whole number, positive or negative, without decimals, of unlimited length.
• Example
• Integers:
• x=1
y = 35656222554887711
z = -3255522
print(type(x))
print(type(y))
print(type(z))
Float
• Float, or "floating point number" is a number, positive or negative, containing one or more
decimals.
• x = 1.10
y = 1.0
z = -35.59
print(type(x))
print(type(y))
print(type(z))
Float
• Float can also be scientific numbers with an "e" to indicate the power of 10.
• x = 35e3
y = 12E4
z = -87.7e100
print(type(x))
print(type(y))
print(type(z))
Complex
print(type(x))
print(type(y))
print(type(z))
Type Conversion
• You can convert from one type to another with the int(), float(), and complex() methods:
• Example
• Convert from one type to another:
• x = 1 # int
y = 2.8 # float
z = 1j # complex
#convert from int to float:
a = float(x)
#convert from float to int:
b = int(y)
#convert from int to complex:
c = complex(x)
print(a)
print(b)
print(c)
print(type(a))
print(type(b))
print(type(c))
Random Number
• Python does not have a random() function to make a random number, but Python has
a built-in module called random that can be used to make random numbers:
• Example
• Import the random module, and display a random number between 1 and 9:
• import random
print(random.randrange(1, 10))
Python Strings
• Strings in python are surrounded by either single quotation marks, or double quotation marks.
• 'hello' is the same as "hello".
• You can display a string literal with the print() function:
• Example
• print("Hello")
print('Hello')
• Assign String to a Variable
• Assigning a string to a variable is done with the variable name followed by an equal sign and the string:
• Example
• a = "Hello"
print(a)
Multiline Strings
• Like many other popular programming languages, strings in Python are arrays of bytes representing unicode
characters.
• However, Python does not have a character data type, a single character is simply a string with a length of 1.
• Square brackets can be used to access elements of the string.
• Example
• Get the character at position 1 (remember that the first character has the position 0):
• a = "Hello, World!"
print(a[1])
Looping Through a String
• Since strings are arrays, we can loop through the characters in a string, with
a for loop.
• Example
• Loop through the letters in the word "banana":
• for x in "banana":
print(x)
String Length
• To check if a certain phrase or character is present in a string, we can use the keyword in.
• Example
• Check if "free" is present in the following text:
• txt = "The best things in life are free!"
print("free" in txt)
Use it in an if statement:
• To check if a certain phrase or character is NOT present in a string, we can use the keyword not in.
• Check if "expensive" is NOT present in the following text:
• txt = "The best things in life are free!"
print("expensive" not in txt)
Use it in an if statement:
• By leaving out the start index, the range will start at the first character:
• Example
• Get the characters from the start to position 5 (not included):
• b = "Hello, World!"
print(b[:5])
Slice To the End
• By leaving out the end index, the range will go to the end:
• Example
• Get the characters from position 2, and all the way to the end:
• b = "Hello, World!"
print(b[2:])
Negative Indexing
• Use negative indexes to start the slice from the end of the string:Example
• Get the characters:
• From: "o" in "World!" (position -5)
• To, but not included: "d" in "World!" (position -2):
• b = "Hello, World!"
print(b[-5:-2])
Python - Modify Strings
• Python has a set of built-in methods that you can use on strings.
Upper Case
Lower Case
• Whitespace is the space before and/or after the actual text, and very often you want to remove this space.
• The strip() method removes any whitespace from the beginning or the end:
• a = " Hello, World! "
print(a.strip()) # returns "Hello, World!"
Replace String
• Example
• The replace() method replaces a string with another string:
• a = "Hello, World!"
print(a.replace("H", "J"))
Split String
• The split() method returns a list where the text between the specified separator
becomes the list items.
• Example
• The split() method splits the string into substrings if it finds instances of the
separator:
• a = "Hello, World!"
print(a.split(",")) # returns ['Hello', ' World!']
Python - String Concatenation
• The format() method takes unlimited number of arguments, and are placed into the respective placeholders:
• Example
• quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))
• You can use index numbers {0} to be sure the arguments are placed in the correct placeholders:
• Example
• quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))
Python - Escape Characters
• Python has a set of built-in methods that you can use on strings
• All string methods return new values. They do not change the original string.
• capitalize() Converts the first character to upper case
• casefold()Converts string into lower case
• center() Returns a centered string
• count() Returns the number of times a specified value occurs in a
string
Python - String Methods