python, python中class的用法是什么?不知道小伙伴们今天来看看边肖的分享吧!
1.类别的定义和常用名称:
类:用于描述具有相同属性和方法的对象集合。它定义集合中每个对象共有的属性和方法。
对象:它是一个类的实例化。
方法:引用类中定义的函数。
2.类对象支持两种操作:
属性引用和实例化。
属性引用的语法:obj。属性
类实例化的语法:obj=类名()
调用类中的方法:obj。方法名称()
3.例如:
例1
Class Students (Object): # Customize a class student.
Def speak(self): ##哪个对象调用这个方法,self就是那个对象;Self可以理解为一个形式参数。
Print (%s said: I am %s years old% (self.name, self.age))
John=student() # Class Student实例化一个对象John。
John.name=John #向对象添加属性
john.age=19
John.speak() #调用类中的speak()方法。
此时的输出是
约翰说:我今年19岁。
例2
Class student(object): #用init定义了一个构造函数,不同于自定义类。
Def _ _ init _ _ (self,n,a): # _ _ init _ _()是类的初始化方法;类实例化后会自动调用,不需要手动调用;
self.name=n
Self.age=a #设置属性
Def speak(self): #定义一个类中的公共方法。
Print (%s said: I am %s years old% (self.name, self.age))
John=student (john,19) # Class Student实例化一个对象John。
John.speak() #调用类中的speak()方法。
最终输出与前面的示例相同。
在python中使用以_ _开头,以_ _结尾的方法称为魔法。
Init(self)是一个类的初始化方法,也称为构造方法,是一种特殊的魔法方法。Init(self)会在实例化后自动调用,不需要手动调用,所以属性一般设置在_ init _ _();
常用的魔法方法有:str(self)、del(self)等。
4.类的继承和super和self的使用:
子类继承父类,也就是说,它拥有父类的属性和方法。
python中类的初始化是__init__()。所以父类和子类的初始化方法是__init__()
但是如果子类在初始化的时候没有这个函数,它会调用父类的_ _ init _ _()函数;(相应的示例输入1)
如果一个子类调用了父类的init,但是定义了自己的init,那么它会覆盖父类的初始化函数,只显示子类本身的初始化。(相应的示例输入2)
Enter 1:
class Animal(object):
def __init__(self):
Self.name=我是父类。
class Panda(Animal):
def __init__(self):
超级()。__init__() #使用super显示调用父类的__init__()函数。
超级(熊猫,自己)。__init__() #超级初始化的第二种方式
if __name__==__main__:
Panda=Panda() # Instantiate Panda
print(panda.name)
Output 1:
我是家长班。
Enter 2:
class Animal(object):
def __init__(self):
Self.name=我是父类。
class Panda(Animal):
def __init__(self):
super().__init__()
self.name=panda
if __name__==__main__:
panda=Panda()
print(panda.name)
Output 2:
panda
2.自我和超我的区别:
(1) self是在父类中不找的情况下第一个调用自己的方法;Super是直接从父类中找方法。
(2)self是类(可以理解为形参),super是预编译指令。
反正你要继承父类,直接上super就行了。
Enter 3:
class Animal(object):
def __init__(self):
Self.name=我是父类。
Def A(self): #父类中的方法A
Print(父类的方法a)
class Panda(Animal):
def __init__(self):
super().__init__()
self.myname=panda
Def a (self):子类#中的方法A。
打印(子类的方法a)
def B(self):
Self. A () # self-call a
Super (). A () # super call a
if __name__==__main__:
panda=Panda()
panda.B() #通过B函数来调用A方法,查看self和super的区别
output3:
子类的A方法#我们说过self是先从自身找方法,没有再去父类找
父类的A方法#而super则是直接从父类中找
python,以上就是本文为您收集整理的python最新内容,希望能帮到您!更多相关内容欢迎关注。