asp.net 音乐网站开发,服务公司英文,wordpress 分页 缓存,网站内容管理规范类是什么#xff1f; 在 Python 中#xff0c;类是一种创建对象的模板#xff0c;定义了对象的属性和方法。通过类可以创建具有相同属性和行为的对象实例。 什么是属性#xff1f; 属性即是特征#xff0c;比如#xff1a;人类的名字、年龄、身高、体重...等特征。 什么是…类是什么 在 Python 中类是一种创建对象的模板定义了对象的属性和方法。通过类可以创建具有相同属性和行为的对象实例。 什么是属性 属性即是特征比如人类的名字、年龄、身高、体重...等特征。 什么是方法 方法即是动作比如人类吃饭、搬砖...等行为。 定义类
语法 class 类名(父类名): 属性 初始化方法 实例方法 ...... 注意 类名要满足标识符命名规则同时要遵循大驼峰命名习惯。类名后面的小括号()是写继承的类名的。如果没有继承可以省略小括号比如 class 类名: 示例定义类并使用类创建对象
# 创建类
class Test:# 定义属性name 我是变量在类中我叫属性# 定义初始化方法def __init__(self):print(我是初始化方法)# 定义实例方法def test(self):print(我是普通函数在类中我叫实例方法)# 使用类
# 通过类创建的变量这里叫做对象
test Test() # 使用类创建一个对象这里创建对象时使用的是初始化方法
print(test.name) # 使用类中的属性
print(test.test()) # 使用类中的实例方法self 讲解
class Test:name 我是变量在类中我叫属性# self 是指向这个类的对象用于引用调用类中的属性和方法。def test(self):# 比如我在类中想使用类中的属性或者方法。# print(name) #这种方法语法报错print(self.name) # self.name 可以调用成功test Test()
test.test()类外面添加对象属性
语法 对象名.属性名 值 示例
class Test:name Tomtest Test()
# 添加属性
test.age 18# 使用属性
print(test.age)类里面使用对象属性/方法
语法 self.属性名 self.方法名() 示例
class Test:def hello(self):# 类中使用类外的属性print(self.age)test Test()
# 类外添加属性
test.age 18print(test.hello())魔法方法 在Python中 __xx__() 的函数叫做魔法方法Magic Methods也被称为双下划线方法Dunder Methods指的是具有特殊功能的函数并与 Python 的内置操作符和函数交互。 __init__ 初始化方法构造函数。
class Test:def __init__(self, name, age):self.name nameself.age agetest Test(Tom, 18)
print(test.name) # Tom
print(test.age) # 18__dict__ 打印对象的所有属性值。vars()也是这个作用。
class Test:def __init__(self, name, age):self.name nameself.age agetest Test(Tom, 18)
print(test.__dict__) # {name: Tom, age: 18}
print(vars(test)) # {name: Tom, age: 18}__str__ print 打印对象时以字符串表示形式。同比java中的toString方法
class Test:def __init__(self, name, age):self.name nameself.age agedef __str__(self):return fTest(name{self.name}, age{self.age})test Test(Tom, 18)
print(test) # Test(nameTom, age18)
print(test.__str__()) # Test(nameTom, age18)
print(str(test)) # Test(nameTom, age18)__repr__ 与 __srt__类似下面是它们的比较
class Test:def __init__(self, name, age):self.name nameself.age agedef __str__(self):return fTest(name{self.name}, age{self.age})def __repr__(self):return fPerson({self.name!r}, {self.age!r})test Test(Tom, 18)
print(test) # Test(nameTom, age18)
print(repr(test)) # Person(Tom, 18)__call__ 可以让对象像方法一样被调用。作用是可以隐式的调用类中其他的方法已经由call显示的调用了其他方法。
class Test:name Tomdef __call__(self):self.hello()def hello(self):print(fhello {self.name})test Test()
# 我们想调用类中的 hello 方法时可以直接这样调用hello已经由call调用了
test() # hello Tom__del__ 析构函数在对象被垃圾回收(或者我们主动使用del函数)时被调用。用于执行一些清理操作例如关闭文件、释放资源等。
class Test:name Tomdef __del__(self):# 这里可以写一些关闭资源的操作print(f对象已经被删除.)test Test()
del test # 对象已经被删除.Python中还有什么很多魔法方法这里就不一一演示了。
完。