学习内容

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

代码区

1.人狗大战,闭包

def Dog(name, blood, aggr, kind):
dog = {
'name': name,
'blood': blood,
'aggr': aggr,
'kind': kind,
}
def bite(human):
human['blood'] -= dog['aggr']
print('%s被咬了,掉了%s的血' % (human['name'], dog['aggr']))
dog['bite'] = bite
return dog def Human(name, blood, aggr, gender):
human = {
'name': name,
'blood': blood,
'aggr': aggr,
'gender': gender,
}
def attack(dog):
dog['blood'] -= human['aggr']
print('%s被打了,掉了%s的血' % (dog['name'], human['aggr']))
human['attack'] = attack
return human dog1 = Dog('泰迪', 536, 120, 'teddy')
human1 = Human('小明', 835, 235, 'None')
print(human1)
human1['attack'](dog1)

2.面向对象,操作

class Person:
country = 'China'
def __init__(self,*args):
self.name = args[0]
self.hp = args[1]
self.aggr = args[2]
self.sex = args[3]
def walk(s):
print('%s走走'%s.name) alex = Person('A',12,1,'B')
print(alex.country)
Person.walk(alex)

3.面向对象,人狗大战

class Dog:
def __init__(self,name,blood,aggr,kind):
self.name = name
self.blood = blood
self.aggr = aggr
self.kind = kind
def bite(self,person):
person.blood -= self.aggr class Person:
def __init__(self,name,blood,aggr,gender):
self.name = name
self.blood = blood
self.aggr = aggr
self.gender = gender
def attack(self,dog):
dog.blood -= self.aggr
J = Dog('Boss Kim',100,20,'teddy')
alex = Person('Alex',999,998,'None')
alex.attack(J)
print(J.blood)

4.面向对象——打印

class Person:
def __init__(self,name,age,gender):
self.name = name
self.age = age
self.gender = gender
def affair(self):
print("%s,%s岁,%s,上山去砍柴"%(self.name, self.age,self.gender))
print("%s,%s岁,%s,开车去东北" % (self.name, self.age, self.gender))
print("%s,%s岁,%s,最爱大保健" % (self.name, self.age, self.gender)) xiaoming = Person('小明','10岁','男')
xiaoming.affair()
laozhang = Person('老张','100岁','None')
laozhang.affair()

5.计算圆的周长,面积

from math import pi
class Circle:
def __init__(self,radius):
self.radius = radius
def premeter(self):
return 2*pi*self.radius
def area(self):
return pi*self.radius*self.radius c1 = Circle(1)
print(c1.area())
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. 网易2019校招内推编程题-俄罗斯方块-C++实现

    [编程题] 俄罗斯方块 时间限制:1秒 空间限制:262144K 小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块.因为它比较古老,所以规则和一般的俄罗斯方块不同.荧幕上一共有 n 列,每次都会有 ...

  2. 如何生成SSH key及查看SSH key

    只适用于Mac和windows下的Git Bash操作界面. 一.检查本地是否有SSH Key存在 在终端输入 ls -al ~/.ssh 如果终端输出的是: No such file or dire ...

  3. QWaitCondition 的思考2

    本文章为原创,如引用请指明出处 问:QWaitCondition的 wake() ,wakeall() 函数唤醒的是哪些线程呢? 是不是在全局范围内该类的各个对象造成的悬挂线程都可以被唤醒呢? 回答: ...

  4. Netty 服务端:新连接接入

    本文主要分析服务端新连接的接入过程,主要分为以下 3 各步骤: select 操作: processSelectedKeys 操作. 1. select 操作 在分析 select 操作前,先要回顾一 ...

  5. [2019BUAA软件工程]结对作业

    Tips Link 作业链接 [2019BUAA软件工程]结对作业 GitHub地址 WordChain PSP表格 psp2.1   预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 ...

  6. Javascript仿贪吃蛇出现Bug的反思

    bug现象:    图一

  7. CSS学习笔记_day2

    目录 一. css初识 二. 在HTML里面引入css的几种方式 1. 外部引入式 2.文档内嵌式 3. 行内式(元素内嵌式) 三. 选择器 四.盒模型 五.文档标准流 六.浮动 一. css初识 1 ...

  8. 禁止用su切换到root

    http://jie388.blog.51cto.com/1433454/920492

  9. 20175120彭宇辰 《Java程序设计》第九周学习总结

    教材内容总结 一.mysql数据库管理系统(windows) 1.官网下载安装解压mysql社区版 2.启动mysql 用cmd进入mysql解压包,输入 mysqld --initialize-in ...

  10. 20164322 韩玉婷-----Exp6 信息搜索与漏洞扫描

    1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具 ...