安徽网站建设方案开发,wordpress顶部广告,智能建造专业学什么,手机代理网址文章目录 一、实例1.1实例的变量1.2实例方法1.3 构造方法1.4析构函数1.4预置实例属性#xff1a; 二#xff0c;类1.1类变量1.2类方法1.3静态方法1.4类属性的增删改查 一、实例
1.1实例的变量
使用示例
class dog:def __init__(self,k,c,a):self.kinds kself.color csel… 文章目录 一、实例1.1实例的变量1.2实例方法1.3 构造方法1.4析构函数1.4预置实例属性 二类1.1类变量1.2类方法1.3静态方法1.4类属性的增删改查 一、实例
1.1实例的变量
使用示例
class dog:def __init__(self,k,c,a):self.kinds kself.color cself.age a
d1 dog(京巴,白色,1)
d2 dog(金毛,黄色,2)
print(d1.kinds)
print(d1.color)##z执行结果
京巴
白色
1.2实例方法
语法 : class 类名继承列表 def 实例方法名self形参参数1形参参数2…… 语句…… 说明 实例方法的实质是函数是定义在类内的函数 实例方式属于类的属性 实例方法的第一个参数代表调用这个实例方法的对象一般命名为“self” 实例方法如果没有return语句则返回None 实例方法调用示例
class dog:def __init__(self,k,c,a):self.kinds kself.color cself.age adef say(self):print(汪汪)
d1 dog(京巴,白色,1)#用对象来调用
d1.say()
#用类来调用
dog.say(d1)#执行结果
汪汪
汪汪1.3 构造方法
作用 创建对象时初始化实例对象 语法 def __init__(self, [形参参数列表]) 语句…… 说明 构造方法名必须为 __init__ 不可改变 构造方法会在实例创建时自动调用且将实例自身通过第一个参数self传入__init__方法
1.4析构函数
语句 def __del__(self): pass 说明 析构方法会在对象销毁时被自动调用 python不建议在析构语句中做任何事情因为该方法调用的时间难以确定
1.4预置实例属性
说明 __dict__属性以字典的方式输出对象的所有属性__class__属性可以的到对象类的名字__doc__属性输出对象的类中的注释__module__属性输出对象所在模块的名字
示例
class dog:def __init__(self,k,c,a):self.kinds kself.color cself.age adef say(self):print(汪汪)
d1 dog(京巴,白色,1)
print(d1.__class__)
print(d1.__dict__)
print(d1.__doc__)
print(d1.__module__)#输出
class __main__.dog
{kinds: 京巴, color: 白色, age: 1}
None
__main__
二类
1.1类变量
定义在类中的变量 可以通过以下访问 示例
class human:home 地球def __init__(self,name):self.name name #只能通过实例对象访问
print(human.home) #通过类访问类变量
h1 human(张三)
print(h1.home) #通过实例对象访问类变量#执行结果
地球
地球在实例的对象中修改类变量只会修改实例对象自己类变量 示例
class human:home 地球def __init__(self,name):self.name name #只能通过实例对象访问
h1 human(张三)
h1.home 火星
print(h1.home) #通过实例对象访问类变量
print(human.home) #通过类访问类变量#执行结果
火星
地球1.2类方法
类方法 classmethod 说明 类方法是只能访问类变量的方法 类方法的第一个参数是类的实例约定为cls 类和实例对象都可以调用类方法 类方法不能访问实例变量 示例
class icbc:moneys 1000classmethoddef total_moneys(cls):print(总钱数为,cls.moneys)
icbc.total_moneys()
a icbc()
a.total_moneys()#执行结果
总钱数为 1000
总钱数为 10001.3静态方法
静态方法staticmethod 说明 静态方法是普通函数 静态方法定义在类的内部只能凭借该类和实例调用 静态方法不能访问类变量和实例变量 示例
class a:staticmethoddef myadd(a,b):return ab
print(a.myadd(10,20))
b a()
print(b.myadd(10,30))#执行结果
30
401.4类属性的增删改查
说明 getattr(obj, name, [default]) 获取对象属性 hasattr(obj, name) 查找这个属性 setattr(obj, name, value) 增加属性 delattr(obj, name) 删除这个属性
示例
class myclass:pass
a myclass()
print(hasattr(a,name)) #查找name属性
print(setattr(a,name,100)) #增加name属性
print(hasattr(a,name)) #查找name属性
print(getattr(a,name)) #获取name属性的值
delattr(a,name) #删除name属性
print(hasattr(a,name))#执行结果
False
None
True
100
False