一、什么是属性
我们通过类中的属性来保存类相关的属性
二、属性的分类
类中的属性分为两种:类属性和对象属性
-
类属性(类的字段)
a.定义:直接定义在类中的变量就是类属性
b.使用:类.属性
c.什么时候用:属性值不会因为对象不同而不一样的时候,就使用类属性
-
对象属性
a.定义:在__init__方法中,以 self.属性=值 的形式进行定义 (属性自己命名,要求和规范和变量名一样)
b.使用:对象.属性
c.什么时候用: 属性值会因为对象不同而不一样的时候,就使用对象属性
注:重写__repr__方法可以自定义对象的打印格式;这个方法的返回值就是对象的打印结果(返回值必须是字符串)
举例:
a = 100
class Student:
# num就是类属性
num = 30
def __init__(self):
# name和age, score就是对象属性
self.name = '张三'
self.age = 18
self.score = 0
print(a)
print(Student.num)
stu = Student()
print(stu.name, stu.age, stu.score)
stu2 = Student()
print(stu.name, stu.age, stu.score)
print(stu2) # <__main__.Student object at 0x104853510>
class Circle:
pi = 3.1415926
class Person:
def __init__(self, name, gender='男'):
self.name = name
self.age = 0
self.gender = gender
# 重写__repr__方法可以自定义对象的打印格式;这个方法的返回值就是对象的打印结果(返回值必须是字符串)
def __repr__(self):
# 打印谁,self就是谁
return f'name:{self.name} age:{self.age} gender:{self.gender}'
p1 = Person('小明')
print(p1)
p2 = Person('小花', '女')
print(p2)
运行结果:
100
30
张三 18 0
张三 18 0
<__main__.Student object at 0x000001590F03BE48>
name:小明 age:0 gender:男
name:小花 age:0 gender:女