Metody i klasy w programowaniu obiektowym
workshop: #lesson-5.html
Warsztat: 4
Przygotowanie
- Upewnij się, że masz zainstalowany interpreter Python 3. Jeżeli nie, skonsultuj się z prowadzacym
- W katalogu domowym przygotuj katalog
AD
, a w nimmod4
- Twórz po kolei pliki skryptów z rozszerzeniem
py
dla każdego zadania z tego warsztatu wg. wzorca:app-4-1.py
,app-4-2.py
itp. - Wywołuj skrypty w terminalu
# Chapter: 4.1 [22]
# Subject: methods
# Time: 2 minutes
# Go!
c=3
def sum1(a,b):
return a+b+c
print(sum1(1,2))
c=3
def sum2(a,b):
c=6
return a+b+c
print(sum2(1,2))
# Chapter: 4.2 [23]
# Subject: arguments
# Time: 3 minutes
# Go!
def sum1(a,b=9):
return a+b
print(sum1(1))
print(sum1(1,2))
print('')
def sum2(a,b=9):
print('a='+str(a))
print('b='+str(b))
return a+b
print(sum2(1))
print('')
print(sum2(b=1,a=2))
# Chapter: 4.3 [24]
# Subject: positional arguments
# Time: 5 minutes
# Go!
c=0
def sum1(a,b=9):
c=a+b
return a+b
print(sum1(1))
print(sum1(1,2))
print('')
def sum2(a,b=9):
print('a='+str(a))
print('b='+str(b))
print('c='+str(c))
return a+b
print(sum2(1))
print('')
print(sum2(b=1,a=2))
print('')
def sum3(a,b=9,c=0):
print('a='+str(a))
print('b='+str(b))
print('c='+str(c))
return a+b+c
print('')
print(sum3(1,2,10))
# Chapter: 4.4 [25]
# Subject: calling methods
# Time: 8 minutes
# Go!
c=0
def sum1(a,b=9):
return a+b
print(sum1(1,2))
c=sum1(1,2)
print('')
def sum2(a,b=9):
print('a='+str(a))
print('b='+str(b))
print('c='+str(c))
return a+b+c
print(sum2(1))
print('')
print(sum2(b=1,a=2))
print('')
def sum3(a,b,c):
print('sum1='+str(sum1(11,22)))
print('a='+str(a))
print('b='+str(b))
print('c='+str(c))
return a+b+c
print('')
sum3(1,2,3)
# Chapter: 4.5 [26]
# Subject: class
# Time: 8 minutes
# Go!
class Operations:
def sum(self,a,b):
return a+b
def sub(self,a,b):
return a-b
def multiply(self,a,b):
return a*b
def div(self,a,b):
return a/b
op = Operations()
print(op.sum(5,2))
print(op.sub(5,2))
print(op.multiply(5,2))
print(op.div(5,2))
# Chapter: 4.6 [27]
# Subject: class constructor
# Time: 3 minutes
# Go!
class Operations:
def __init__(self,a,b):
self.a=a
self.b=b
self.c=13
self.__priv = 21
def sum(self,a,b):
return a+b
def sub(self,a,b):
return a-b
def multiply(self,a,b):
return a*b
def div(self,a,b):
return a/b
def dsp(self):
return self.c
op = Operations(5,2)
print(op.sum(5,2))
print(op.sub(5,2))
print(op.multiply(5,2))
print(op.div(5,2))
print(op.dsp())
# Chapter: 4.7 [28]
# Subject: class constructor
# Time: 4 minutes
# Go!
class Operations:
c=13
__priv=21
def __init__(self,a,b):
self.a=a
self.b=b
def dsp(self):
print(self.__priv)
print(self.c)
op = Operations(5,2)
op.dsp()
print(op.c)
print(op.__priv)