1、对象=属性+方法

2、实例化对象

#类名称首字母大写
class Turle:
#属性
color = 'green'
weight = 10
legs = 4
shell = True
mouth = '大嘴' #方法
def climb(selt):
print('我正在很努力的向前爬。。。。。')
def run(self):
print('我正在飞快的向前跑。。。。。')
def bite(self):
print('咬死你咬死你!!')
def eat(self):
print('有的吃,真满足。')
def sleep(self):
print('困了,睡了,晚安.Zzzz') >>> tt = Turle() #实例化对象
>>> tt.climb()
我正在很努力的向前爬。。。。。
>>> tt.run()
我正在飞快的向前跑。。。。。
>>> tt.bite()
咬死你咬死你!!
>>> tt.eat()
有的吃,真满足。

3、oo(面向对象)的特征:

--封装(对象封装了属性)

>>> list1 = [2,1,7,5,3]
>>> list1.sort() #正序排列
>>> list1
[1, 2, 3, 5, 7]
>>> list1.append(9)
>>> list1
[1, 2, 3, 5, 7, 9] 列表对象里面的方法和变量并不清楚,但是封装后只提供一个名称,我们只需要方法的名字,调用名字就可以

--继承

#类Mylist继承list 的方法和属性

>>> class Mylist(list):
pass >>> list2 = Mylist()
>>> list2.append(3)
>>> list2.append(5)
>>> list2.append(7)
>>> list2
[3, 5, 7]
>>> ---list2继承了Mylist的list对象

--多态:不同对象对同一方法响应不同的行动

>>> class A:
def fun(self):
print('我是小A。') >>> class B:
def fun(self):
print('我是小B。') >>> a = A()
>>> b = B()
>>> a.fun()
我是小A。
>>> b.fun()
我是小B。
>>> a,b两个不同对象对fun()对象采用的不同的行为

4、对象中的属性和方法,在编程中实际是什么?

变量(属性),函数(方法)

5、类和对象是什么关系呢?

类和对象的关系就如同是模具和用这个模具制作出的物品之间的关系。一个类为它的全部对象给出一个统一的定义,而他的每个对象则是符合这种定义的一个实体,因此类和对象的关系就是抽象和具体的关系

6、类的定义有时候或许不那么“拟物”,有时候会抽象一些,例如我们定义一个矩形,那你会为此添加那些属性和方法呢?

属性如:长宽高,方法如:计算周长,面积

7、面向对象的几个特征:

封装:对外部隐藏对象的工作细节

继承:子类自动共享父类之间的数据和方法的机制

多态:可以对不同类的对象调用相同的方法,产生不同的结果

练习题:

1、按照以下提示尝试定义一个Person类并生成类实例对象

属性:姓名(默认姓名为“小甲鱼”)

方法:打印姓名

提示:方法中对属性的引用形式需加上self,如 self.name

class Person:
name = '尘封' def print_name(self):
print(self.name) >>> p = Person()
>>> p.print_name()
尘封
>>>

2、按照以下提示尝试定义一个矩形并生成类实例对象

属性:长和宽

方法:设置长和 ->setRect(self),获得长和宽 ->getRect(self),获取面积 ->getArea(self)

提示:方法中对属性的引用形式需加上self,如:self.width

class Rectanle:
length = 5
width = 4 def setRect(self):
print('请输入矩形的长和宽...')
self.length = float(input('长:'))
self.width = float(input('宽:')) def getRect(self):
print('这个矩形的长是:%.2f,宽是:%.2f'% (self.length,self.width)) def getArea(self):
return self.length * self.width r = Rectanle()
r.getRect()
r.setRect()
r.getRect()
r.getArea()

【python36--对象】的更多相关文章

  1. Python--可迭代对象,迭代器,生成器

    记得在刚开始学Python的时候,看到可迭代对象(iterable).迭代器(iterator)和生成器(generator)这三个名词时,完全懵逼了,根本就不知道是啥意识.现在以自己的理解来详解下这 ...

  2. 【Python】【容器 | 迭代对象 | 迭代器 | 生成器 | 生成器表达式 | 协程 | 期物 | 任务】

    Python 的 asyncio 类似于 C++ 的 Boost.Asio. 所谓「异步 IO」,就是你发起一个 IO 操作,却不用等它结束,你可以继续做其他事情,当它结束时,你会得到通知. Asyn ...

  3. Python(名称空间、函数嵌套、函数对象)

    一.名称空间: 名称空间 定义:存放名字和值的绑定关系       内置名称空间 python自带的名字,如print.int.str 解释器启动就会生效   全局名称空间 文件级别定义的名字,都会放 ...

  4. python3.6 + selenium2.53.1 查询数据库并将返回的内容中每一行的内容转换成class对象

    环境: win10 python3.6 selenium2.53.1 准备工作:先安装pymysql python2.x链接数据库使用MySQLdb,而python3.x链接数据库使用pymysql ...

  5. Python3学习笔记(十四):可迭代对象、迭代器和生成器

    记得在刚开始学Python的时候,看到可迭代对象(iterable).迭代器(iterator)和生成器(generator)这三个名词时,完全懵逼了,根本就不知道是啥意识.现在以自己的理解来详解下这 ...

  6. python--函数的返回值、函数参数的使用、名称空间与作用域、函数嵌套、函数对象

    今天学习内容有函数的返回值.函数参数的使用.名称空间与作用域.函数嵌套. 下来我们一一查看. 函数的返回值 看几个栗子: def func(x): y=func() print(y) def foo( ...

  7. day27-面向对象进阶

    #!/usr/bin/env python # -*- coding:utf-8 -*- # ----------------------------------------------------- ...

  8. 【转】Python中自定义可迭代对象

    python 中内置的可迭代的对象有 list.tuple.set.dict 等,那么我们自己怎么定义一个可迭代的对象呢?先来段代码吧 import re import reprlib RE_WORD ...

  9. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  10. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

随机推荐

  1. 理解tcp顺序释放操作和tcp的半关闭

    Shutdown的调用        在关闭socket的时候,可以有两种方式closesocket和shutdown,这两个函数的区别在什么地方呢? #include <sys/socket. ...

  2. jQuery-设计模式

    [目录] 一.选择网页元素 二.改变结果集 三.链式操作 四.元素的操作:取值和赋值 五.元素的操作:移动 六.元素的操作:复制.删除和创建 七.工具方法 八.事件操作 九.特殊效果 [正文] 一.选 ...

  3. SQL Server 创建索引(index)

    索引的简介: 索引分为聚集索引和非聚集索引,数据库中的索引类似于一本书的目录,在一本书中通过目录可以快速找到你想要的信息,而不需要读完全书. 索引主要目的是提高了SQL Server系统的性能,加快数 ...

  4. oauth2.0学习笔记(摘抄简化)

    大量摘抄白话简明教程. 附:可以参考<RFC6749协议中文版及oauth2.0>文档 一.OAuth 白话简明教程 1.简述 http://www.cnblogs.com/Ceri/p/ ...

  5. DX9 空间坐标变换示例代码

    // @time 2012.3.25 // @author jadeshu #include <Windows.h> #include <d3d9.h> #include &l ...

  6. [6]Windows内核情景分析 --APC

    APC:异步过程调用.这是一种常见的技术.前面进程启动的初始过程就是:主线程在内核构造好运行环境后,从KiThreadStartup开始运行,然后调用PspUserThreadStartup,在该线程 ...

  7. sitecore系统教程之使用修补程序文件自定义Sitecore配置

    您可以使用修补程序文件在Sitecore中添加或更改配置设置.Sitecore将修补程序文件与Sitecore.config 文件合并,以创建在运行时使用的配置文件. 本主题描述: 补丁文件放置 补丁 ...

  8. Python学习记录之----网络通信(二)

    网络通信   socket 这一节太难了,还是看TA的吧 http://www.cnblogs.com/alex3714/articles/5830365.html 不能执行top等类似的 会持续输出 ...

  9. Python print 中间换行 直接加‘\n’

  10. qt5 移植 交叉编译出现错误

    类似这样的错误,当时没有完整的记下来,undefined reference to `std::__detail::_List_node_base@GLIBCXX_3.4.10 当时是在编译qt5cl ...