python3 面向对象_Python3面向对象

1 -*- coding:utf-8 -*-

2 #在python中如何声明一个类:

3 #class 班级群体

4 #object 继承的父类 object基类、顶级父类

5 classPeople(object):6 n=123 #类变量

#类变量的用途是大家共用的属性,节省开销

7 name='我是类变量'

8 n_list=[]9 #初始化函数,也叫构造函数,在创建对象的时候自动调用

10 #__init__ 内置函数

11 def __init__(self,name,age,phone):12 #在这个函数中需要将创建对象时就应该拥有的一些属性赋值

13 #对象.属性名 = 属性值

14 #这里的self相当于对象名 如:p1 = People('张三',22,110) 这里的self就是p1

15 self.name = name #实例变量(静态属性) 作用域就是实例的本身

16 self.age = age #相当于p1.age=age

17 self.phone =phone18

19 def show(self):#类的方法,也叫类的功能 (动态属性)

20 #这里的self相当于对象名 如:p1.show()这里的self就是p1,相当于People.show(p1),谁调用这个类里方法就是谁。

21

22 print(self.name)23

24 print(People.n) #没有实例化之前可以使用类变量

25 #使用People类创建一个对象

26 #创建对象的基本格式:对象名 = 类名()

27 #当创建一个对象时,会在内存中开辟一块空间,来存放这个对象,这个对象是有一个地址的

28 #每次创建的对象都是一个单独个体,他们的内存地址都不一样

29 p1 = People('张三',22,110) #p1也叫做People的实例 也称对象

30 p2 = People('李四',26,120)31 #内存:程序运行时,在计算机中占用的空间

32 #python中自动管理内存的

33 print (p1) #<__main__.People object at 0x0000000002217E80>

34 #获取对象的属性值

35 #格式 :对象.属性名

36 name =p1.name37 print(name)38 age =p1.age39 print(age)40 phone =p1.phone41 print(phone)42

43 print('---------------',p1.n,p1.name) #可以直接使用类变量和实例变量>>--------------- 123 张三

44 #如果有个类变量是name,那么也打印相同变量名实例变量,没有再找类变量

45

46 #修改对象的属性值

47 #格式:对象.属性名 = 属性值

48 p1.name= '李四'

49 print(p1.name)50

51 #python中用来属性值得函数

52 #1.要设置属性值的对象 2.要设置的属性名 3.要设置的属性值

53 setattr(p1,'age',21)54

55 #可以给对象添加新属性

56 #对象.属性名 = 属性值 如果这个属性不存在,那就是添加属性

57 p1.sex = '男' #相当于在构造函数中 self.sex=sex 效果一样,只不过只是p1专用,其它对象没有这个属性

58 print(p1.sex)59

60 #删除对象的属性

61 #对象的属性被删除之后,就不能再使用了

62 #AttributeError: sss 要删除的sss属性不存在

63 delp1.sex64 #删除对象属性的函数

65 #1.要删除的对象 2.要删除的属性名

66 delattr(p1,'phone')#或del p1.phone

67 #删除之后,p1就不能使用这个属性了

68 #print (p1.phone)

69

70 #用实例改变类变量

71 p1.n='改变类变量'

72 #用p1打印

73 print('---------p1-----------',p1.n) #>>---------p1----------- 改变类变量(相当于在p1内存中增加了:p1.n='改变类变量')

74 #用p2打印

75 print('---------p2-----------',p2.n) #>>---------p2----------- 123

76

77 People.n='ABCD'

78 print('p1:',p1.n,'p2:',p2.n) #>>p1: 改变类变量 p2: ABCD

79

80 p1.n_list='from p1'

81 p2.n_list='from p2'

82 print('p1:',p1.n_list,'p2:',p2.n_list,'People:',People.n_list) #>>p1: from p1 p2: from p2 People: []

83

84 #setattr动态添加属性

85 attr_dict = {'iq':'150','eq':'150','color':'yellow'}86 #for遍历

87 for key,value inattr_dict.items():88 #key是属性名,value是属性值

89 #setattr,可以将一个字符串的属性名 添加到对象的属性中

90 #p1.key = value 这种方式无法添加相当于写了p1.'iq'= '150'

91 setattr(p1,key,value)92

93 print(p1.iq)94

95

96 #delattr动态删除属性

97 #删除对象p1中的属性

98 attr_dict = ['iq','eq','color']99

100 for attr inattr_dict:101 #可以使用delattr函数删除

102 delattr(p1,attr)103

104 #属性删除之后,就不能再使用了

105 #print (p1.iq)

106

107 #析构函数:在实例释放、销毁的时候执行,做收尾工作

108 #如:关闭一些数据库连接、关闭打开的文件等

109 创建析构函数

110 def __def__(self): #在类实例释放时自动执行的,可以不用传参数

111  print('%s 彻底释放了' %self.name) #使用del p1时也会执行析构函数

112

113

114 私有方法 私有属性 在类里面可以改私有属性

115 def __init__(self,name,age,phone)

116   self.name=name

117   self.age=age

117   self.__phone=phone #私有属性

118

119print(p1.phone) 不能访问

120

121 def show_status(self): #在类里面定义一个访问的方法

122   print('%s' %self.phone)

123print(p1.show.status()) 这样访问

124

125私有方法就在方法名前加两个"__"

126 在外面就不能访问

127 p1.__show() #不能访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值