Python类class的定义、属性及其实例化

类是某一类具有通用特点的事务的统称 类的定义 类的三要素是类名、属性、方法

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
方法:类中定义的函数。
实例化:创建一个类的实例,类的具体对象。
对象:通过类定义的数据结构实例。

类的定义

#定义一个Person类,类名首字母一般大写
class Person(object):#object  是python中的基类,所有自定义的类都是基于object,可写可不写
    name = 'gaozhiyuan' #  name 就是Person类的属性    在函数中叫做变量
print(Person.name)   #访问类属性值
#也可以修改属性值
Person.name = 'gao'
print(Person.name)
gaozhiyuan
gao

定义类之后,为了进行操作方便还要进行实例化,好比Person这个类是抽象的,男人、女人、老人、小孩统称为Person,是抽象的,实际操作中往往是对具体对象的特点的操作,所以要进行类的实例化,简而言之,类的实例化就是从抽象的类到具体的对象。

类的实例化

#对Person类进行实例化  xiaoming叫做Person类的实例对象
xiaoming = Person()
#访问类属性
print(xiaoming.name)
#也可以修改属性值
xiaoming.name = 'xiaoming'
print(xiaoming.name)
gao
xiaoming

类的属性实例均有,实例可以调用类属性,但是类不可以调用实例属性
类属性,类可以访问到,实例也可以访问到
实例属性类不可以访问到,但是得实例可以访问到

#类的属性实例均有,实例可以调用类属性,但是类不可以调用实例属性 实例属性类不可以访问到,但是得实例可以访问到
xiaoming = Person()
#一个“实例”的“特征”,就是“属性”
xiaoming.sex = 'male'#添加实例属性
print(xiaoming.sex)#实例成功访问实例属性
print(xiaoming.name)#实例成功访问l类属性
print(Person.sex)#类试图访问实例型,系统报错
male
gaozhiyuan
---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-16-77eb3ffd3169> in <module>
      4 print(xiaoming.sex)#实例成功访问实例属性
      5 print(xiaoming.name)#实例成功访问l类属性
----> 6 print(Person.sex)#类试图访问实例型,系统报错
AttributeError: type object 'Person' has no attribute 'sex'
#类属性,类可以访问到,实例也可以访问
class Person(object):#object  是python中的基类,所有自定义的类都是基于object,可写可不写
    name = 'gaozhiyuan' #  name 就是Person类的属性    在函数中叫做变量
xiaoming = Person()
print(xiaoming.name)#实例访问类属性
print(Person.name)#类访问类属性
gaozhiyuan
gaozhiyuan

每个实例都是一个独立的变量空间。不同实例之间的空间互相不可见

xiaoming = Person()
xiaoming.name = 'xiaoming'
print(xiaoming.name,id(xiaoming))
xiaoming 2619835796000
gaozhiyuan = Person()
print(gaozhiyuan.name,id(gaozhiyuan))
gaozhiyuan 2619835230360
  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值