-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path14-1-classes-objects.py
More file actions
executable file
·127 lines (78 loc) · 2.68 KB
/
14-1-classes-objects.py
File metadata and controls
executable file
·127 lines (78 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
print('Create a Class')
# Create a class named MyClass, with a property named x:
class MyClass:
x = 5
# create object p1
p1 = MyClass()
print(p1.x)
print('\n----\n')
print('The __init__() Function')
# The __init__() function is called automatically every time the class is being used to create a new object.
# Use the __init__() function to assign values to object properties, or other operations that are necessary to do when the object is being created:
# The self parameter is a reference to the current instance of the class, and is used to access variables that belong to the class.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Adam", 36)
print(p1.name)
print(p1.age)
print('\n----\n')
print('Object Methods')
# Objects can also contain methods. Methods in objects are functions that belong to the object.
# Insert a function that prints a greeting, and execute it on the p1 object:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Hello my name is " + self.name)
p1 = Person("Adam", 36)
p1.myfunc()
print('\n----\n')
print('The self Parameter may have its name')
# The self parameter is a reference to the current instance of the class, and is used to access variables that belongs to the class.
# It does not have to be named self , you can call it whatever you like, but it has to be the first parameter of any function in the class:
# Use the words myobject or abc etc instead of self:
class Person:
def __init__(myobject, name, age):
myobject.name = name
myobject.age = age
def myfunc(abc):
print("Hello my name is " + abc.name)
p1 = Person("Adam", 36)
p1.myfunc()
print('\n----\n')
print('Modify Object Properties')
# You can modify properties on objects like this:
p1.age = 40
print('\n----\n')
print('Delete Object Properties')
# You can delete properties on objects by using the del keyword:
del p1.age
print('\n----\n')
print('Delete Objects')
# You can delete objects by using the del keyword:
# Delete the p1 object:
del p1
print('\n----\n')
print('The pass Statement')
# class definitions cannot be empty, but if you for some reason have a class definition with no content, put in the pass statement to avoid getting an error.
# Example
class Man:
pass
print('\n----\n')
print('Print Object Properties - Method 1')
def dump(obj):
for attr in dir(obj):
print("obj.%s = %r" % (attr, getattr(obj, attr)))
p1 = Person("Adam", 36)
dump(p1)
print('\n----\n')
print('Print Object Properties - Method 2')
def pprint_object(obj):
from pprint import pprint
pprint(vars(obj))
p2 = Person("Adam", 50)
dump(p2)
print('\n----\n')