1 Star 0 Fork 0

北京大学-夏敏/小白学派森2.0

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
类方法和静态方法.py 1.63 KB
一键复制 编辑 原始数据 按行查看 历史
陈俊宇 提交于 2020-11-10 17:49 . 面向对象学习
class People:
country='China'
#类方法 需要用classmetho 来进行修饰
@classmethod
def get_country(cls):
return cls.country #访问类属性
pass
@classmethod
def chage_country(cls,data):
cls.country=data # 修改类属性的值在类方法中
@staticmethod
def getData():
return People.country
pass
@staticmethod
def add(x,y):
return x+y
pass
print(People.add(10,56))
print(People.get_country()) # 通过类对象直接去引用方法
# p=People()
# print('实例对象访问%s'%p.get_country()) # 通过实例对象访问类方法
#
# print('----------修改之后的--------------')
# People.change_country('英国')
# print(People.get_country()) # 通过类对象去医用
#
print(People.getData())
p=People()
print(p.getData()) # 注意 一般情况下不会通过实例对象去访问静态方法
# 为什么要使用静态方法么
# 由于静态方法主要来存放逻辑性方法 本身和类以及实例对象没有交互
# 也就是说在静态方法中不会涉及到类中方法和属性的操作
# 数据资源能够得到有效的充分利用
#demo 返回当前的系统时间\
import time# 引入第三方时间模块
class TimeTest:
def __init__(self,hour,min,second):
self.hour=hour
self.min=min
self.second=second
@staticmethod
def showTime():
return time.strftime('%H:%M:%S',time.localtime())
pass
pass
print(TimeTest.showTime())
t=TimeTest(2,10,15)
print(t.showTime()) #没有必要通过这种方式访问静态方法
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/pkuecho/xiaobai-xuepaisen-20.git
git@gitee.com:pkuecho/xiaobai-xuepaisen-20.git
pkuecho
xiaobai-xuepaisen-20
小白学派森2.0
master

搜索帮助