33
loading...
This website collects cookies to deliver better user experience
class sample: # creating a class named sample
# ATTRIBUTES
x=5 # class data has variable named x with value five.
# OBJECT CREATION(INSTANTIAZATION OF AN OBJECT)
mysample=sample() # creating an instance of the class
#Accessing the parameters
print(mysample.x) # We can access the attribute values using the '.' operator.
5
class sample:
number=20
character='3'
a=sample()
print(a.number+int(a.character))
23
def functionname (classname,......arguments......):
...
...
...
class sample:
name="Tom"
number=20
character='3'
def printname(sample):
print(sample.name)
a=sample()
a.printname()
Tom
class sample:
name="Tom"
number=20
character='3'
def printname(sample):
print(name)
a=sample()
a.printname()
Traceback (most recent call last):
File "main.py", line 9, in <module>
a.printname()
File "main.py", line 6, in printname
print(name)
NameError: name 'name' is not defined
class sample:
name="Tom"
number=20
character='3'
def printname():
print(name)
a=sample()
a.printname()
Traceback (most recent call last):
File "main.py", line 9, in <module>
a.printname()
TypeError: printname() takes 0 positional arguments but 1 was given
self
keyword can be used in place of the entire class nameclass sample:
name="Tom"
number=20
character='3'
def printname(self):
print(sample.name)
a=sample()
a.printname()
Tom
class sample:
name="Tom"
number=20
character='3'
def printname(self):
print(self.name)
a=sample()
a.printname()
Tom
class sample:
name="Tom"
number=20
character='3'
def printname(self):
return (self.name)
a=sample()
print(a.printname())
Tom
class sample:
rate=15
def set_amount(self,amount):
sample.amount=amount
def print_tax(self,amount):
self.set_amount(amount)
# Exercise why not self.set_amount(self,amount) ?
print(self.rate*self.amount/100)
a=sample()
a.print_tax(20)
3.0
set_amount(self)
is a setter method, i.e. This methods sets the values of the method object. self.set_amount(amount)
by self.set_amount(self,amount)
? showId
and showrollnumber()
set_amount
is used only inside the class. So why not mark it private? We can set private methods in Python by adding two underscores to the class name, like this __set_amount
Rest all remains the sameclass sample:
rate=15
def __set_amount(self,amount):
sample.amount=amount
def print_tax(self,amount):
self.__set_amount(amount)
print(self.rate*self.amount/100)
a=sample()
a.print_tax(20)
3.0
class sample:
rate=15
def __set_amount(self,amount):
sample.amount=amount
def print_tax(self,amount):
self.__set_amount(amount)
print(self.rate*self.amount/100)
a=sample()
a.__set_amount(2)
a.print_tax(20)
Traceback (most recent call last):
File "main.py", line 12, in <module>
a.__set_amount(2)
AttributeError: 'sample' object has no attribute '__set_amount'
__init__
or the class constructor.