码迷,mamicode.com
首页 > 其他好文 > 详细

类的三中方法

时间:2019-09-12 23:19:16      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:lse   定义   init   一个   set   访问   定义类   else   sum   

# 在类里可以定义三种方法
# 1,实例方法
# 方法的第一个参数是self
# 2,类方法
# 方法的第一个参数是cls(表示当前类),需要帽子@classmethod
# 3,静态方法
# 方法没有参数,带有帽子@staticmethod


class Person(object):
country = ‘中国‘
__skin_color = ‘黄种人‘

def __init__(self, name, age):
self.name = name
self.__age = age

#定义实例方法,可以对私有的实例属性进行修改和获取数据

def set_age(self, new_age): #实例方法可以代替类方法,运用self.__class__
if 0 < age < 150:
self.__age = new_age
else:
print(‘请输入合法年龄!‘)

def get_age(self):
return self.__age


#定义类方法,可以对私有的类属性进行修改和访问,一般和当前类的相关操作都使用
@classmethod
def set__skin_color(cls, new_color):
print(cls)
cls.__skin_color = new_color

@classmethod
def get_skin_color(cls):
return cls.__skin_color

#定义静态方法,当方法内不需要使用当前类(cls)和当前对象(self)
@staticmethod
def sum(num1, num2):
return num1 + num2

# 类方法也可以这样改写为实例方法,把上面的类方法修改成这样
def set__skin_color(self, new_color):
self.__class__.__skin_color = new_color

def get_skin_color(self):
return self.__class__.__skin_color

类的三中方法

标签:lse   定义   init   一个   set   访问   定义类   else   sum   

原文地址:https://www.cnblogs.com/wjun0/p/11515392.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!