学习内容

  1. 1.初识面向对象
    类:抽象的,模子
    对象:具体的,根据类规范
    代码精简,修改方便,属性规范
    2.对象
    查看属性
    调用方法
    __dict__,增删改查,通过字典语法进行
    3.类名
    1.实例化
    2.调用方法
    3.调用静态属性
    __dict__,类中的名字,只能看
    4.面向对象情况
    1.一类事物,有相似的属性和功能
    2.当有几函数,需要反复传入相同的参数,可以考虑面向对象

代码区

1.人狗大战,闭包

  1. def Dog(name, blood, aggr, kind):
  2. dog = {
  3. 'name': name,
  4. 'blood': blood,
  5. 'aggr': aggr,
  6. 'kind': kind,
  7. }
  8. def bite(human):
  9. human['blood'] -= dog['aggr']
  10. print('%s被咬了,掉了%s的血' % (human['name'], dog['aggr']))
  11. dog['bite'] = bite
  12. return dog
  13.  
  14. def Human(name, blood, aggr, gender):
  15. human = {
  16. 'name': name,
  17. 'blood': blood,
  18. 'aggr': aggr,
  19. 'gender': gender,
  20. }
  21. def attack(dog):
  22. dog['blood'] -= human['aggr']
  23. print('%s被打了,掉了%s的血' % (dog['name'], human['aggr']))
  24. human['attack'] = attack
  25. return human
  26.  
  27. dog1 = Dog('泰迪', 536, 120, 'teddy')
  28. human1 = Human('小明', 835, 235, 'None')
  29. print(human1)
  30. human1['attack'](dog1)

2.面向对象,操作

  1. class Person:
  2. country = 'China'
  3. def __init__(self,*args):
  4. self.name = args[0]
  5. self.hp = args[1]
  6. self.aggr = args[2]
  7. self.sex = args[3]
  8. def walk(s):
  9. print('%s走走'%s.name)
  10.  
  11. alex = Person('A',12,1,'B')
  12. print(alex.country)
  13. Person.walk(alex)

3.面向对象,人狗大战

  1. class Dog:
  2. def __init__(self,name,blood,aggr,kind):
  3. self.name = name
  4. self.blood = blood
  5. self.aggr = aggr
  6. self.kind = kind
  7. def bite(self,person):
  8. person.blood -= self.aggr
  9.  
  10. class Person:
  11. def __init__(self,name,blood,aggr,gender):
  12. self.name = name
  13. self.blood = blood
  14. self.aggr = aggr
  15. self.gender = gender
  16. def attack(self,dog):
  17. dog.blood -= self.aggr
  18. J = Dog('Boss Kim',100,20,'teddy')
  19. alex = Person('Alex',999,998,'None')
  20. alex.attack(J)
  21. print(J.blood)

4.面向对象——打印

  1. class Person:
  2. def __init__(self,name,age,gender):
  3. self.name = name
  4. self.age = age
  5. self.gender = gender
  6. def affair(self):
  7. print("%s,%s岁,%s,上山去砍柴"%(self.name, self.age,self.gender))
  8. print("%s,%s岁,%s,开车去东北" % (self.name, self.age, self.gender))
  9. print("%s,%s岁,%s,最爱大保健" % (self.name, self.age, self.gender))
  10.  
  11. xiaoming = Person('小明','10岁','男')
  12. xiaoming.affair()
  13. laozhang = Person('老张','100岁','None')
  14. laozhang.affair()

5.计算圆的周长,面积

  1. from math import pi
  2. class Circle:
  3. def __init__(self,radius):
  4. self.radius = radius
  5. def premeter(self):
  6. return 2*pi*self.radius
  7. def area(self):
  8. return pi*self.radius*self.radius
  9.  
  10. c1 = Circle(1)
  11. print(c1.area())
  12. print(c1.premeter())

python之路——22的更多相关文章

  1. 【Python之路22】冒泡排序算法

    1.变量互换 a = 123 b = 456 temp = a a = b b = temp python比较简单的变量互换: a = 123 b = 456 a,b = b,a print(a,b) ...

  2. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  3. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  4. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  5. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  6. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  7. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

  8. Python之路【第八篇】:堡垒机实例以及数据库操作

    Python之路[第八篇]:堡垒机实例以及数据库操作   堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...

  9. Python之路【第七篇】:线程、进程和协程

    Python之路[第七篇]:线程.进程和协程   Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

随机推荐

  1. java基础——字符串中的反转Reverse问题(面试必备)

    由于研究了关于字符串(String)的问题,今年就在这里总结一下,首先说一下有关于面试,我想的是,需要一定的技能,比方说,大家想到这个反转问题,肯定能说上了,只不过是你说的一般人都知道,要想在面试中更 ...

  2. python 一些魔法

    1. range(object): """ range(stop) -> range object range(start, stop[, step]) -> ...

  3. 埃式筛法——求n以内素数

    素数筛法的关键就在一个“筛”字.算法从小到大枚举所有数,对每一个素数,筛去它的所有倍数,剩下的就都是素数了. 例如:求1-15中的所有素数. 1.  2是素数(唯一需要事先确定的),因此筛去2的所有倍 ...

  4. shell脚本登录远程服务器并下载至本地

    通常有这样备份的需求,将远程服务器的代码或者数据打包压缩然后下载到本地路径 实现方式 需要对远程服务器实现无密码访问,通过配置公钥实现: 使用ssh执行命令然后转向到本地的方法一步完成打包和下载,可参 ...

  5. jmeter使用手册

    1.在bin文件中找到jmeter.bat文件启动 2.创建测试计划-填写计划名称 3.添加线程组(右键点击) 4.设置线程-红框内均可设置,线程数-并发次数 5.在线程组下添加http请求 6.在h ...

  6. sublime text 3搭建python

    1.ST3下载地址: http://www.sublimetext.com/3 2.安装Sublime Text Build 3114 Setup.exe应用程序. 3.ST3的工具优点就是轻量级,简 ...

  7. HOMEWORK1

    回顾你过去将近3年的学习经历 当初你报考的时候是真正喜欢计算机这个专业吗? 当初报考的时候是选择英语和计算机专业,报英语那个学校没去上,就来学了计算机,对计算机专业的感觉介于喜欢和热爱之间,就是说还是 ...

  8. 基于tomcat获取在线用户数

    https://blog.csdn.net/smallnetvisitor/article/details/84697505 需求: 统计某应用的在线用户数 实现方案: 1.基于session监听(复 ...

  9. Python读取和写入Excel文件

    制作Excel表 常用方法说明 Workbook类 Workbook类创建一个XlswWrite的Workbook对象,相当于创建一个excel表 And_worksheet()用来创建工作表,默认为 ...

  10. R并行计算

    # 参考文献: https://cosx.org/2016/09/r-and-parallel-computinghttps://blog.csdn.net/sinat_26917383/articl ...