# -*- coding:utf-8 -*-
1. 类函数 和 静态函数
调用父类的初始化函数
super(People, self).__init__()
class People(object):
#类变量
total = 0
def __init__(self, name, age):
# 调用父类的初始化函数
super(People, self).__init__()
# 初始化当前类对象的一些属性
self.name = name
self.age = age
2. 对象函数,只能由对象调用 def eat(self):
print('该吃饭了......')
3.类函数
装饰器是以@开头,@结构的称之为语法糖,装饰器的作用主要是给一些现有的函数增加一些额外的功能
cls class如果是类调用该函数,cls指的就是这个类
如果对象调用该函数,cls指的就是这个对象的类型
@classmethod
def work(cls, time, *args, **kwargs):
# cls class如果是类调用该函数,cls指的就是这个类
# 如果对象调用该函数,cls指的就是这个对象的类型
print(cls)
print(time)
@classmethod
def sleep(cls):
print('每一个类函数前必须添加装饰器@classmethod')
4.静态函数@staticmethod描述的函数称为静态函数,静态可以由类和对象调用,函数中没有隐形函数
@staticmethod
def run(time):
print('跑步%s分钟' % time)
5. 对象函数只能由对象调用# 类函数由类调用、也可以用对象调用
类函数-->由类调用
People.work(10)
类函数由-->对象调用p1 = People('张三', 22)
p1.work(20)
6.调用静态函数People.run(100)
p1.run(50)
以上代码运行结果:
<class '__main__.People'>
10
<class '__main__.People'>
20
跑步100分钟
跑步50分钟
7.完整代码:
# -*- coding:utf-8 -*-
# 上午继承
# 类函数 和 静态函数
class People(object):
#类变量
total = 0
def __init__(self, name, age):
# 调用父类的初始化函数
super(People, self).__init__()
# 初始化当前类对象的一些属性
self.name = name
self.age = age
# 对象函数,只能由对象调用
def eat(self):
print('该吃饭了......')
# 类函数
# 装饰器是以@开头,@结构的称之为语法糖,装饰器的作用主要是给一些现有的函数增加一些额外的功能
@classmethod
def work(cls, time, *args, **kwargs):
# cls class如果是类调用该函数,cls指的就是这个类
# 如果对象调用该函数,cls指的就是这个对象的类型
print(cls)
print(time)
@classmethod
def sleep(cls):
print('每一个类函数前必须添加装饰器@classmethod')
# 静态函数
# @staticmethod描述的函数称为静态函数,静态可以由类和对象调用,函数中没有隐形函数
@staticmethod
def run(time):
print('跑步%s分钟' % time)
# 对象函数只能由对象调用
# 类函数由类调用、也可以用对象调用
# 类函数-->由类调用
People.work(10)
# 类函数由-->对象调用
p1 = People('张三', 22)
p1.work(20)
# 调用静态函数
People.run(100)
p1.run(50)