class foo():
city = "beijing"
def __init__ (self,name):
self.name = name
def run(self):
print(f"{self.name} is running")
shark = foo(shark)
shark.run()
shark.city
[root@.....] # ....
shark is running
beijing
这就是一个简单的类。在类里定义的函数都叫做方法
其中,init方法不是必须的,其作用为将下面的方法绑定到传入的对象上,以方便调用
因此,方法内的参数包括self时,该方法称为绑定方法。
类内包含三种属性,"city"类的数据属性,"run"类的函数属性,"name"类的实体化对象的数据属性
@classmethod
def class_method(cls):
"""
类方法, cls 就是类 -》 调用此方法的类
:return:
"""
pass
@staticmethod
def statict_method():
"""
本质上就是一个普通函数而已,只不过是在类里面定义了
:return:
"""
pass
str
class Person:
def __init__(self, name):
self.name = name
def __str__(self):
return "{}".format(self.name)
p = Person('shark')
print(p)
# shark
继承
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def run(self):
print(f'{self.name} is running')
class Teacher(Person):
pass
t = Teacher('shark', '18')
t.run()
当然,多层继承时,子类同样也可以继承"父类的父类的方法",同样的,一个子类可同时继承多个父类的方法。
Ps:
class Foo():
city = 'beijing'
def __init__(self,name):
self.name = name
def run(self):
print(f'{self.name} is running')
class Teacher(Foo):
def talk(self):
print(f'{self.name} is talk')
qige = Teacher("qige")
qige.run()
qige.talk()
print(f"{qige.name} is {qige.city}")
some = Foo("some")
some.run()
class Student(Teacher):
pass
rourou = Student("rourou")
rourou.run()
网友评论