python 面向对象(二)
2021-07-11 09:06
标签:返回值 school property span color .sh ssm 公有 成员 1. 成员 成员共分为三类: 1变量: - 实例变量(字段) 2.方法 实例方法 方法上边有@staticmethod 方法上边有@classmethod 3.属性 方法上有@property 只有一个self参数 调用时无需加括号 对象.方法 对于简单的方法,当无需传参且有返回值时可以使用 2. 嵌套(建模) python 面向对象(二) 标签:返回值 school property span color .sh ssm 公有 成员 原文地址:https://www.cnblogs.com/JinMuBaoBao/p/9551560.html
- 公有实例变量(字段)
- 私有实例变量(字段)
- 类变量(静态字段)
- 公有类变量(静态字段)
- 私有类变量(静态字段)class Student:
school = "蓝翔" #公有的类变量
__grade = "一年级" #私有的类变量
def __init__(self,name):
self.name = name #公有的实例变量
self.__age = 18 #私有的实例变量
stu = Student("Tom")
print(stu.name)
# print(stu.__age) #私有的实例变量不能在类外部访问
print(Student.school)
# print(Student.__grade) #私有的类变量不能在类外部访问
有个self参数
静态方法 : 如果方法无需使用对象中封装的值,那么就可以使用静态方法
参数可有可无
类方法 : 如果在方法中会使用到当前类,那么就用类方法
有个cls参数class Student:
def __init__(self,name,age):
self.name = name
self.age = age
def dyname(self): #实例方法
print(self.name)
@staticmethod
def dy(x): #静态方法:如果方法无需使用对象中封装的值,那么就可以使用静态方法
print("哈哈哈",x)
@classmethod
def dy2(cls): #类方法:如果在方法中会使用到当前类,那么就用类方法
print(cls)
stu = Student("Tom",18)
stu.dyname()
Student.dy("s15")
Student.dy2()
class Student:
def __init__(self):
pass
@property
def shuxing(self):
return 1
obj = Student()
print(obj.shuxing)