python3类和对象
1、类
python中使用关键字class声明类。
在类中,可以有变量和方法。
class Stu:
def __init__(self, name, age=15):
self.name = name
self.age = age
def is_adult(self):
if self.age >= 18:
return True
else:
return False
stu = Stu('张三', 20)
print('是否成年', stu.is_adult())
"""
是否成年 True
"""
2、对象变量和类变量
在类中、方法外声明的变量为类变量,基于该类创建的对象共享类变量。
在类中、方法中声明的变量为对象变量,属于各对象私有。
对象变量一般建议在初始化方法__init__中统一声明,当然,在其他方法中声明也是可以的。
对象变量通过self,可以在类的各个方法中进行调用。
3、方法
和函数级别一致,需要注意的是,方法至少有一个参数,该参数作为对本对象自身的引用,一般命名为self,方法声明的第一个参数就是。
self是可以作为参数对象被传递的,表示本类对象。
class Stu:
def __init__(self):
self.name = '张三'
printf(self)
def printf(item: Stu):
print(item.name)
stu = Stu()
"""
张三
"""
4、类属性和方法
(1)类的私有属性和私有方法
- 在对象属性名或方法名命名时,使用两个下划线作为前缀,该属性或方法将定义为类的私有属性或方法,其只能在类中使用,而不能在类外基于对象调用
- 注意,定义私有是仅前缀使用两个下划线,如果同时后缀也使用两个下划线,那么将作为专有属性或方法定义,不再私有。
(2)类的专有属性和方法
在对象属性名或方法名命名时,使用两个下划线作为前缀和后缀,比如__age__