Skip to content

Instantly share code, notes, and snippets.

@ZhouYang1993
ZhouYang1993 / example1.py
Last active May 18, 2020 08:20
Abstract Classes in Python
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def move(self):
pass
a = Animal()
# TypeError: Can't instantiate abstract class Animal with abstract methods move
@ZhouYang1993
ZhouYang1993 / instance_method.py
Last active May 19, 2020 14:00
Class Method and Static Method in Python
class Student:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
self.nickname = None
def set_nickname(self, name):
self.nickname = name
@ZhouYang1993
ZhouYang1993 / example.py
Last active December 20, 2022 17:59
Class Method and Static Method in Python
class Student:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
self.nickname = None
def set_nickname(self, name):
self.nickname = name
@classmethod # get_from_string is a class method
@ZhouYang1993
ZhouYang1993 / example2.py
Created May 19, 2020 15:34
Class Method and Static Method in Python
class Student:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
self.nickname = None
def set_nickname(self, name):
self.nickname = name
@classmethod
@ZhouYang1993
ZhouYang1993 / staticmethod.py
Last active May 19, 2020 15:50
Class Method and Static Method in Python
class Student:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
self.nickname = None
def set_nickname(self, name):
self.nickname = name
@classmethod
@ZhouYang1993
ZhouYang1993 / example3.py
Last active May 19, 2020 16:43
Class Method and Static Method in Python
class Student:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
@classmethod
def get_from_string(cls, name_string: str):
first_name, last_name = name_string.split()
return Student(first_name, last_name)
@ZhouYang1993
ZhouYang1993 / example4.py
Created May 19, 2020 16:58
Class Method and Static Method in Python
class Student:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
@classmethod
def get_from_string(cls, name_string: str):
first_name, last_name = name_string.split()
return Student(first_name, last_name)
@ZhouYang1993
ZhouYang1993 / example5.py
Created May 19, 2020 17:04
Class Method and Static Method in Python
class Student:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
@classmethod
def get_from_string(cls, name_string: str):
first_name, last_name = name_string.split()
return cls(first_name, last_name) # CHANGED HERE
@ZhouYang1993
ZhouYang1993 / example6.py
Created May 19, 2020 17:45
Class Method and Static Method in Python
class Student:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
@classmethod
def get_from_string(cls, name_string: str):
first_name, last_name = name_string.split()
if Student.validate_name(first_name) and Student.validate_name(last_name):
return cls(first_name, last_name)
@ZhouYang1993
ZhouYang1993 / exp1.py
Created May 28, 2020 16:20
Iterators in Python
my_list = [1, 2, 3, 4, 5]
print(type(my_list))
# <class 'list'>
my_list_iterator = iter(my_list)
print(type(my_list_iterator))
# <class 'list_iterator'>