__repr__() method is used to tell Python what the string representation of the class should be. It can only have one parameter,
self, and it should return a string.
class Employee:def __init__(self, name):self.name = namedef __repr__(self):return self.namejohn = Employee('John')print(john) # John
In Python, methods are functions that are defined as part of a class. It is common practice that the first argument of any method that is part of a class is the actual object calling the method. This argument is usually called self.
# Dog classclass Dog:# Method of the classdef bark(self):print("Ham-Ham")# Create a new instancecharlie = Dog()# Call the methodcharlie.bark()# This will output "Ham-Ham"
In Python, a class needs to be instantiated before use.
As an analogy, a class can be thought of as a blueprint (Car), and an instance is an actual implementation of the blueprint (Ferrari).
class Car:"This is an empty class"pass# Class Instantiationferrari = Car()
In Python, class variables are defined outside of all methods and have the same value for every instance of the class.
Class variables are accessed with the
class my_class:class_variable = "I am a Class Variable!"x = my_class()y = my_class()print(x.class_variable) #I am a Class Variable!print(y.class_variable) #I am a Class Variable!
In Python, the
.__init__() method is used to initialize a newly created object. It is called every time the class is instantiated.
class Animal:def __init__(self, voice):self.voice = voice# When a class instance is created, the instance variable# 'voice' is created and set to the input value.cat = Animal('Meow')print(cat.voice) # Output: Meowdog = Animal('Woof')print(dog.voice) # Output: Woof
type() function returns the data type of the argument passed to it.
a = 1print(type(a)) # <class 'int'>a = 1.1print(type(a)) # <class 'float'>a = 'b'print(type(a)) # <class 'str'>a = Noneprint(type(a)) # <class 'NoneType'>
In Python, a class is a template for a data type. A class can be defined using the
# Defining a classclass Animal:def __init__(self, name, number_of_legs):self.name = nameself.number_of_legs = number_of_legs
In Python, the built-in
dir() function, without any argument, returns a list of all the attributes in the current scope.
With an object as argument,
dir() tries to return all valid object attributes.
class Employee:def __init__(self, name):self.name = namedef print_name(self):print("Hi, I'm " + self.name)print(dir())# ['Employee', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'new_employee']print(dir(Employee))# ['__doc__', '__init__', '__module__', 'print_name']
__main__ is an identifier used to reference the current file context. When a module is read from standard input, a script, or from an interactive prompt, its
__name__ is set equal to
Suppose we create an instance of a class called
CoolClass. Printing the
type() of the instance will result in:
This means that the class
CoolClass was defined in the current script file.