python类学习笔记

类的定义

用class语句来创建一个类

class student:
	pass #空语句,起到占位作用
if __name__=='__main__':
	stu=student()#创建student对象,并将创建的对象赋给变量stu
	print(stu)

#输出为这个对象所占的内存空间的首地址

基于类创建对象,运行的结果如图

关于对象

类的属性

1.创建student类包含name属性,创建的对象自动获取,在对象不设置属性是,默认为类的属性值。

class Student:
	name="unkown"
	
if __name__=='__main__':
	print("输出:",Student.name)
	stu1=Student()#创建student对象stu1
	stu2=Student()#创建student对象stu2
	print("输出stu1 %s,stu2 %s"%(stu1.name,stu2.name))

在这里插入图片描述

2.当类的属性值改变时,对象的默认属性值也会改变

class Student:
	name="unkown"
if __name__=='__main__':
	print("输出:",Student.name)
	stu1=Student()#创建student对象stu1
	stu2=Student()#创建student对象stu2
	print("输出stu1 %s,stu2 %s"%(stu1.name,stu2.name))
	Student.name="未知"
	print("输出:",Student.name)
	print("stu1 %s,stu2 %s"%(stu1.name,stu2.name))

3.当对象的属性赋值时,替换掉默认的属性值,例如给stu1的name赋值为李二

class Student:
	name="unkown"
if __name__=='__main__':
	print("输出:",Student.name)
	stu1=Student()#创建student对象stu1
	stu2=Student()#创建student对象stu2
	print("输出stu1 %s,stu2 %s"%(stu1.name,stu2.name))
	Student.name="未知"
	print("输出:",Student.name)
	print("stu1 %s,stu2 %s"%(stu1.name,stu2.name))
	stu1.name="李二"
	stu2.name="王武"
	print("第22行输出:",Student.name)
	print("第23行输出stu1 %s,stu2 %s"%(stu1.name,stu2.name))

在这里插入图片描述

4.单独为某个对象设置属性,其他的对象的属性不会增加

class Student:
	name="unkown"
if __name__=='__main__':
	print("输出:",Student.name)
	stu1=Student()#创建student对象stu1
	stu2=Student()#创建student对象stu2
	print("输出stu1 %s,stu2 %s"%(stu1.name,stu2.name))
	Student.name="未知"
	print("输出:",Student.name)
	print("stu1 %s,stu2 %s"%(stu1.name,stu2.name))
	stu1.name="李二"
	stu2.name="王武"
	print("第22行输出:",Student.name)
	print("第23行输出stu1 %s,stu2 %s"%(stu1.name,stu2.name))
	stu1.age='19'
	print("第25行输出stu1姓名为%s年龄为%s "%(stu1.name,stu1.age))
	print("第26行输出stu2姓名为%s年龄为%s "%(stu1.name,stu2.age))
	print("第26行输出stu2姓名为%s年龄为%s "%(stu1.name,stu2.age))

可以看到当输出为stu2.age,student.age的时候,程序报错。
在这里插入图片描述

私有属性

类内访问的到,类外无法直接访问的属性,定义的方法为两个__name

例如:

class Student:
        name="未知"
        __id="unknown" #定义__id私有变量

        def Setinfo(self,newname,newid)
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值