Python中的OOPs是一种编程方法,致力于像其他通用编程语言一样使用对象和类。 对象可以是任何现实世界的实体。 Python允许开发人员使用OOPs方法开发应用程序,主要侧重于代码可重用性。 在Python中创建类和对象非常容易。
类是数据和函数的逻辑分组。 它提供了创建包含任意内容并因此易于访问的数据结构的自由。
要定义类,你需要考虑以下几点
第1步)在Python中,类由“ class”关键字定义
class myClass():
步骤2)在类内部,您可以定义属于该类的函数或方法
def method1 (self):
print "Guru99"
def method2 (self,someString):
print "Software Testing:" + someString
在这里,我们定义了显示“ Guru99”的method1。
我们定义的另一个方法是method2,它打印”Software Testing”+ SomeString。 SomeString是调用方法提供的变量
步骤3)类中的所有内容都缩进,就像函数,循环,if语句等中的代码一样。所有不缩进的内容都不在类中
注意:关于在Python中使用“self”
self是指对象本身。 因此,在此方法内部,self将引用正在操作的该对象的特定实例。
步骤4)创建该类的一个对象
c = myClass()
步骤5)调用类里面的方法
c.method1()
c.method2(" Testing is fun")
步骤6)这是完整的代码
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
def method2(self,someString):
print("Software Testing:" + someString)
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
继承是面向对象编程中使用的功能。 它指的是定义一个新类,而对现有类的修改很少或没有修改。 新类称为派生类,而被新类继承的类称为基类。 Python支持继承; 它还支持多重继承。 一个类可以从另一个称为子类或继承类的类继承属性和行为方法。
Python继承语法
class DerivedClass(BaseClass):
body_of_derived_class
步骤1)运行以下代码
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
class childClass(myClass):
def method1(self):
myClass.method1(self);
print ("childClass Method1")
def method2(self):
print("childClass method2")
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
请注意,未定义childClass中的method1,但它是从父myClass派生的。 输出为“ Guru99”。
步骤2)取消注释第8和10行。运行代码
现在,在childClass中定义了method1,并正确显示了输出“ childClass Method1”。
步骤3)取消注释第9行。 运行代码
您可以使用以下语法调用父类的方法
ParentClassName.MethodName()
在我们的例子中,我们调用myClass.method1(self)并按预期方式打印Guru99
步骤4)取消注释第19行 c2.method2()。 运行代码。
调用子类的method2,并按预期方式打印“ childClass method2”。
构造函数是将对象实例化为预定义值的类函数。
它以双下划线(_)开头。 __init __()方法
在下面的示例中,我们使用构造函数获取用户的名称。
class User:
name = ""
def __init__(self, name):
self.name = name
def sayHello(self):
print("Welcome to Guru99, " + self.name)
User1 = User("Alex")
User1.sayHello()
输出将是:
Welcome to Guru99, Alex
Python 2示例
上面的代码是Python 3的示例,如果要在Python 2中运行,请考虑以下代码。
# How to define Python classes
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
def method2(self,someString):
print "Software Testing:" + someString
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
#How Inheritance works
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print "childClass Method1"
def method2(self):
print "childClass method2"
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
“类”是功能和数据的逻辑分组。 Python类提供了面向对象编程的所有标准功能。