python day24
Posted sd880413
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python day24相关的知识,希望对你有一定的参考价值。
面向对象
类:把一类事物的想通动作跟特征整合到一起就是类,类是一个抽象的概念
对象:就是基于类而创建的一个具体的事物(具体存在的),也是特征和动作整合到一起
面向对象过程分析,例如:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 def school(name,addr,type): 4 def kao_shi(school): 5 print("%s 学校正在考试" % school[‘name‘]) 6 7 def zhao_sheng(school): 8 print(‘%s %s学校正在招生‘ % (school[type],school[‘name‘])) 9 def init(name,addr,type): 10 sch = { 11 ‘name‘: name, 12 ‘addr‘: addr, 13 ‘type‘: type, 14 ‘kao_shi‘: kao_shi, 15 ‘zhao_sheng‘: zhao_sheng, 16 } 17 return sch 18 return init(name,addr,type) 19 s1 = school(‘oldboy‘,‘沙河‘,‘私立学校‘) 20 print(s1[‘name‘]) 21 s1[‘kao_shi‘](s1)
类相关知识:
在Python中声名函数和声名一个类很相似
声名函数:
1 def functionName(args):
3 ‘函数文档字符串‘
声名类:命名规范:首字母大写
1 ‘‘‘ 2 class 类名: 3 文档字符串 4 类体 5 ‘‘‘ 6 #我们创建一个类: 7 class Data: 8 pass 9 #用类Data实例化出一个对象d1 10 d1 = Data()
实例:实例只有数据属性,没有函数属性(方法)
1 #类属性:1、数据属性 2、函数属性(方法) 2 class Chinese: 3 dang=‘人‘ 4 def sui_di_tu_tan(): 5 print("朝着墙上就是一口痰") 6 7 def cha_dui(self): 8 print(‘插到了前边‘) 9 10 print(Chinese.dang)#类属性. 11 Chinese.sui_di_tu_tan() 12 print(dir(Chinese)) 13 #查看类的属性字典 14 Chinese.__dict__[‘dang‘] 15 Chinese.__dict__[‘cha_dui‘](1)
特殊的类属性:
类的相关知识:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # class Chinese: 4 # ‘这是一个中国人的类‘ 5 # pass 6 # p1 = Chinese() 7 # print(p1) 8 9 #类属性:1、数据属性 2、函数属性(方法) 10 class Chinese: 11 dang=‘人‘ 12 def sui_di_tu_tan(): 13 print("朝着墙上就是一口痰") 14 15 def cha_dui(self): 16 print(‘插到了前边‘) 17 18 # 特殊的类属性 19 print(Chinese.__name__) 20 print(Chinese.__doc__) 21 print(Chinese.__base__) 22 # 23 # print(Chinese.dang)#类属性. 24 # Chinese.sui_di_tu_tan() 25 # print(dir(Chinese)) 26 # #查看类的属性字典 27 # Chinese.__dict__[‘dang‘] 28 # Chinese.__dict__[‘cha_dui‘](1)
对象相关知识以及增删改查:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # class Chinese: 4 # ‘这是一个中国人的类‘ 5 # pass 6 # p1 = Chinese() 7 # print(p1) 8 9 #类属性:1、数据属性 2、函数属性(方法) 10 class Chinese: 11 dang=‘人‘ 12 #实例化过程本质上就是调用__init__函数的运行 13 def __init__(self,name,age,gender): 14 print("开始实例化") 15 self.mingzi = name 16 self.nianling = age 17 self.xingbie = gender 18 print("实例化结束") 19 def sui_di_tu_tan(): 20 print("朝着墙上就是一口痰") 21 22 def cha_dui(self): 23 print(‘插到了前边‘) 24 def play_boy(self,ball): 25 print("%s 正在打%s" %(self.name,ball)) 26 27 # p1 = Chinese(‘sd‘,28,‘man‘) 28 29 # print(p1.__dict__) 30 # print(p1.__dict__[‘xingbie‘]) 31 # print(p1.mingzi) 32 # print(p1.dang) 33 # #调用方法: 34 # 35 # Chinese.sui_di_tu_tan() 36 # #更改 37 # Chinese.dang=‘shidong‘ 38 # #查看 39 # print(Chinese.dang) 40 # #增加 41 # Chinese.dang=‘人‘#增加数据属性 42 # 43 # 44 # print(Chinese.dang) 45 # print(p1.dang) 46 # #删除 47 # del Chinese.dang 48 # print(Chinese.__dict__) 49 # print(p1.__dict__) 50 p1 = Chinese(‘sd‘,28,‘man‘) 51 def eat_food(self,food): 52 print("%s 正在吃%s" % (self.mingzi,food)) 53 54 Chinese.eat=eat_food 55 56 print(Chinese.__dict__) 57 p1.eat(‘apple‘) 58 59 def ceshi(self): 60 print("test") 61 62 Chinese.play_boy=ceshi 63 p1.play_boy()
对象与实例属性调用:
1 country=‘中国-------------‘ 2 class Chinese: 3 country=‘中国‘#类的属性 4 def __init__(self,name): 5 self.name=name 6 print(‘--->‘,country)#属性通过实例或者类的点调用,如果只是实例化那么就是一个 7 #简单的属性而已,调用的country就是country=‘中国-------------‘ 8 9 def play_ball(self,ball): 10 print(‘%s 正在打%s‘ %(self.name,ball)) 11 12 p1=Chinese(‘alex‘) 13 print(p1.country) 14 p1.country=‘日本‘ 15 print(p1.country) 16 print(Chinese.country)
以上是关于python day24的主要内容,如果未能解决你的问题,请参考以下文章