48 lines
2 KiB
Python
48 lines
2 KiB
Python
"""
|
|
Their is going to be a relatively big jump in difficulty here, but dont be scared!
|
|
All you need to know to understand classes are variables and functions, as covered in the previous file.
|
|
|
|
Key Concepts:
|
|
**class** is a blueprint for creating objects (specific instances of that class),
|
|
a class represents a collection of attributes and methods to represent something (e.g a Person)
|
|
|
|
**object** is an instance of a class with its own unique data.
|
|
|
|
**attributes** are values tied to a object
|
|
|
|
**methods** are the exact same as functions, but are tried to a class.
|
|
|
|
**Magic/dunder methods** are methods predefined by python that can be used for various things.
|
|
|
|
**__init__** is a type of magic method, it is known as a constructor and initializes the objects attributes when its created
|
|
"""
|
|
|
|
class Person:
|
|
"""A class Representing a Human/Person"""
|
|
|
|
# This is the constructor, whenever a new person is created it runs and can be used to assign the new person their attributes!
|
|
def __init__(self, name, age, eye_color):
|
|
# An attribute
|
|
self.name = name
|
|
self.age = age
|
|
self.eye_color = eye_color
|
|
|
|
# This is a method, note "self" must be passed as a paramater/arguement for it to access the attributes of... itself.
|
|
def canApplyForLicence(self):
|
|
if self.age >= 17:
|
|
return f"{self.name} can apply for their driving permit!"
|
|
else:
|
|
return f"{self.name} is too young ({self.age}) and can not apply for a driving permit."
|
|
|
|
|
|
# Creates a new person with the following values
|
|
pedro = Person("Pedro", 19, "Brown")
|
|
|
|
# Runs the canApplyForLicence method, and prints the return value
|
|
print(pedro.canApplyForLicence())
|
|
|
|
# Creates a Another new person with the following values (iain armitage if you wanted to know.)
|
|
Iain = Person("Iain", 16, "Blue")
|
|
|
|
# Runs the canApplyForLicence method, and prints the return value
|
|
print(Iain.canApplyForLicence())
|