修改wordpress地址网站打不开,帮人做兼职的网站,潍坊网站建设制作,安康市城乡建设规划局网站一、属性划分
1.类属性
类属性#xff1a;类属性就是类对象具有的属性#xff0c;一般写法在类内部、方法的外部定义的变量,就是类属性#xff0c;类属性在内存中只有一份。可以通过类名直接访问#xff0c;也可通过实例访问。
class Circle:# 类属性#xff0c;定义圆…一、属性划分
1.类属性
类属性类属性就是类对象具有的属性一般写法在类内部、方法的外部定义的变量,就是类属性类属性在内存中只有一份。可以通过类名直接访问也可通过实例访问。
class Circle:# 类属性定义圆周率pi 3.14159def __init__(self, radius):self.radius radiusdef calculate_area(self):# 使用类属性计算圆的面积return Circle.pi * self.radius * self.radiusdef calculate_circumference(self):# 使用类属性计算圆的周长return 2 * Circle.pi * self.radius# 创建两个圆对象
circle1 Circle(5)
circle2 Circle(8)print(f圆 1 的面积{circle1.calculate_area()})
print(f圆 2 的面积{circle2.calculate_area()})print(f圆 1 的周长{circle1.calculate_circumference()})
print(f圆 2 的周长{circle2.calculate_circumference()})
2.实例属性
实例属性实例属性就是对象具有的属性在类中 的 init 方法中, 使用 self 定义的属性每个实例对象中都存在一份自己的属性信息。
class Person:def __init__(self, name, age):self.name name # 实例属性 nameself.age age # 实例属性 agedef introduce(self):return f我是{self.name}今年{self.age}岁。# 创建两个 Person 类的实例
person1 Person(小明, 20)
person2 Person(小红, 22)print(person1.introduce())
print(person2.introduce())
如何判断一个属性是定义实例属性还是类属性
基本上所有的属性都实例属性实例属性描述每个实例对象的特有信息类属性描述的是整个类共有信息。
二、方法的划分
1.实例方法 直接使用def关键字定义的方法就是实例对象方法实例方法调用实例对象.方法名()
class Dog:def __init__(self, name):self.name namedef bark(self):# 实例方法打印狗狗的叫声和名字print(f{self.name}汪汪)# 创建一个 Dog 类的实例
my_dog Dog(小白)# 调用实例方法
my_dog.bark()
2.类方法
类方法在 def 的上方使用装饰器 classmethod 装饰的方法调用类名.方法名()、对象.方法名()
class Circle:pi 3.14159def __init__(self, radius):self.radius radiusclassmethoddef from_diameter(cls, diameter):# 类方法通过直径创建 Circle 实例return cls(diameter / 2)def area(self):return Circle.pi * self.radius * self.radius# 使用类方法创建实例
circle1 Circle.from_diameter(10)
print(circle1.radius)print(circle1.area())
3.静态方法
静态方法在 def 的上方,使用装饰器 staticmethod 装饰的方法静态方法它不依赖于类的实例也不访问类属性或实例属性。它只是一个与类相关的工具方法可以直接通过类名来调用。
class MathUtils:staticmethoddef add(a, b):# 静态方法进行简单的加法运算return a bresult MathUtils.add(5, 3)
print(result) # 输出 8