Python类和实例
概念太抽象了,举例说明
class People(object):
position = "这是类属性1"
school = "这是类属性2"
@classmethod
def read(cls):
msg = "这是类方法,可以类调用,也可以实例调用"
return msg
def __init__(self, name, age):
"""这是构造方法,也叫魔法方法,下面是实例属性"""
self.name = name
self.age = age
self.s = self.school #可以调用类属性
self.__money = "这是私有属性"
def __privatefun(self):
msg = "这是私有方法"
return msg
def run(self):
msg = "这是实例方法"
return msg
def go(self):
msg = f"这里是实例方法,可以获取类属性:{self.position},也可以调用类方法:{self.read()}"
return msg
def prifun(self):
msg = f"这是实例方法,可以调用私有属性:{self.__money};也可以调用私有方法:{self.__privatefun()};只能内部调用"
return msg
@staticmethod
def fun():
"""类里的函数就叫静态方法,类和实例都可以调用"""
msg = "这是静态方法"
return msg
zhangsan = People("zhangsan", 20) #实例化
print("实例获取实例属性---",zhangsan.name)
print("实例属性里获取类属性---",zhangsan.s)
print("实例调实例方法---",zhangsan.run())
print("实例方法里获取类属性和类方法---",zhangsan.go())
print("类调类属性---",People.position)
print("类调类方法---",People.read())
print("实例调类属性---",zhangsan.position)
print("实例调类方法---",zhangsan.read())
print("实例方法调私有属性和私有方法---",zhangsan.prifun())
print("实例调静态方法---",zhangsan.fun())
print("类调静态方法---",People.fun())
# print("私有属性和方法不能在外部调用,所以这样是错误的---",zhangsan.__money)
运行结果如下

浙公网安备 33010602011771号