1. 解决吃啤酒鸭的问题

第一种方式(面向过程):

1)养鸭子

2)鸭子长成

3)杀

4)作料

5)烹饪

6)吃

7)卒
第二种方式(面向对象):

1)找个卖啤酒鸭的人

2)给钱 交易

3)吃

4)胖6斤

2.类和对象

对象:具体的东西

类:看不见摸不着的,只是概念

    

3. 类的构成

  类(Class) 由3个部分构成

  • 类的名称:类名
  • 类的属性:一组数据       (基本信息)
  • 类的方法:允许对进行操作的方法 (行为)    (功能) f.open()    f.read()   f.close()

    

4.定义一个类

#定义一个类

#1.类名
class Cat():
#2.类的属性 #3.类的方法
def cat(self):
print("我在吃东西。。。")
def run(self):
print("我在跑步")

5.创建一个对象

 #定义一个类

 #1.类名
class Cat():
#2.类的属性 #3.类的方法
def cat(self):
print("我在吃东西。。。")
def run(self):
print("我在跑步") #创建一个对象
Tom = Cat()

      

6.调用对象的方法

#定义一个类

#1.类名
class Cat():
#2.类的属性 #3.类的方法
def eat(self):
print("我在吃东西。。。")
def run(self):
print("我在跑步") #创建一个对象
tom = Cat() #调用方法
tom.eat() tom.run()

    

7.给对象添加属性

 #定义一个类

 #1.类名
class Cat():
#2.类的属性 #3.类的方法
def eat(self):
print("我在吃东西。。。")
def run(self):
print("我在跑步") #创建一个对象
tom = Cat() #调用tom指向的对象中的 方法
tom.eat()
tom.run() tom.name = "汤姆"
tom.age = 18

    

8.获取对象的属性

######33  第一种 

 #1.类名
class Cat():
#2.类的属性 #3.类的方法
def eat(self):
print("我在吃东西。。。")
def run(self):
print("我在跑步") #创建一个对象
tom = Cat() #调用tom指向的对象中的 方法
tom.eat()
tom.run() #给tom指向的对象添加2个属性
tom.name = "汤姆"
tom.age = 18 #第1种 获取属性
print("%s的年龄是%d"%(tom.name,tom.age))
######## 第二种 

#1.类名
class Cat():
#2.类的属性 #3.类的方法
def eat(self):
print("我在吃东西。。。")
def run(self):
print("我在跑步")
#第二种 获取对象的属性
def instrduce(self):
print("%s的年龄是%d"%(tom.name,tom.age)) #创建一个对象
tom = Cat() #调用tom指向的对象中的 方法
tom.eat()
tom.run() #给tom指向的对象添加2个属性
tom.name = "汤姆"
tom.age = 18 #第1种 获取属性
#print("%s的年龄是%d"%(tom.name,tom.age))
tom.instrduce()

    

9.创建多个对象

  1)版本1:

#1.类名
class Cat():
#2.类的属性 #3.类的方法
def eat(self):
print("我在吃东西。。。")
def run(self):
print("我在跑步")
#第二种 获取对象的属性
def instroduce(self):
print("%s的年龄是%d"%(tom.name,tom.age)) #创建一个对象
tom = Cat() #调用tom指向的对象中的 方法
tom.eat()
tom.run() #给tom指向的对象添加2个属性
tom.name = "汤姆"
tom.age = 18 #第1种 获取属性
#print("%s的年龄是%d"%(tom.name,tom.age))
tom.instroduce() lanmao = Cat()
lanmao.name = "蓝猫"
lanmao.age = 13
lanmao.instroduce()

    

      

day 1类 对象 属性 方法的更多相关文章

  1. python添加、修改、删除、访问类对象属性的2种方法

    1.直接添加.修改.删除.访问类对象属性 class Employee (object): empCount = 0 def __init__(self, name, salary) : self.n ...

  2. Python的高级特性8:你真的了解类,对象,实例,方法吗

    Python的高级特性1-7系列是本人从Python2过渡3时写下的一些个人见解(不敢说一定对),接下来的系列主要会以类级为主. 类,对象,实例,方法是几个面向对象的几个基本概念,其实我觉得很多人并不 ...

  3. Method Resolve Order (MRO) - 类对象属性的解析顺序

    Method Resolve Order (MRO) - 类对象属性的解析顺序 Python 支持多重继承, 此时就需要解决按照何种顺序来解析属性的问题.类的继承关系在一个特殊的类属性中指定(__mr ...

  4. Delphi中TStringList类常用属性方法详解

    TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...

  5. java 获取实体类对象属性值的方法

    在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ...

  6. C#-类 字段 属性 方法 特性

    方法的签名 包括参数个数.参数类型.方法返回值 base和this关键字 1.使用base关键字,就可以使用父类中的字段.属性.方法 2.一旦父类中存在有参数的构造函数,那么子类就必须使用base来覆 ...

  7. python类对象属性查找原理

    class Foo(object): def __init__(self): # 这是一个对象属性 self.obj_pro = 12 # 这是一类属性 c_pro = 11 # 这是一个静态方法 @ ...

  8. object-c计划tips-添加到类对象属性

    这个问题从网络包的内容,由于保密问题,我刚才所描述我的业余的想法. 基本的想法: 网络请求,我们应该能够使用基类BaseNetWork, 然后由派生类继承BaseNetWork,并实现一些特殊的方法. ...

  9. VBA学习笔记(1)----VBA对象属性方法

    'VBA对象 'VBA中的对象其实就是我们操作的具有方法.属性的excel中支持的对象 'Excel中的几个常用对象表示方法 '1.工作簿 ' Workbooks 代表工作簿集合,所有的工作簿,Wor ...

随机推荐

  1. JavaScript脚本的执行原理?

    JavaScript是一种动态.弱类型.基于原型的语言,通过浏览器可以直接执行. 当浏览器遇到\<script>标记的时候,浏览器会执行之间的JavaScript代码.嵌入的js代码是顺序 ...

  2. ASP.NET如何批量保存动态生成的文本框?

    对于OA系统,表单签核功能必不可少.而根据公司的情况,表单自然又五花八门,所以就要求能够让用户自己建立表单并设定表单的流程.填写内容等等.我之前写过一篇文章[地址:pivot的用法(SQL SERVE ...

  3. windows下nginx访问web目录提示403 Forbidden

    在windows下 http服务器nginx时,访问web目录提示403 Forbidden,首先需要了解nginx出现403错误是什么意思: 403 Forbidden表示你在请求一个资源文件但是n ...

  4. 【.net开发者自学java系列】使用Eclipse开发SpringMVC(2)

    大概熟悉了 Eclipse. 然后先上Spring MVC 官网看看. 可是英文太差?翻译咯.现在翻译可屌了,真高兴生活在现在科技发达的时代.活着在中国太美好了. 没出过国门就能看懂英文.我都崇拜自己 ...

  5. eclipse中svn插件装好后出现"位置错误"的处理

    错误现象: 验证位置时发生错误:"org.apache.subversion.javahl.ClientException:svn:E210004: Number is larger tha ...

  6. Web—10-前端性能优化

    前端性能优化 从用户访问资源到资源完整的展现在用户面前的过程中,通过技术手段和优化策略,缩短每个步骤的处理时间从而提升整个资源的访问和呈现速度.网站的性能直接会影响到用户的数量,所有前端性能优化很重要 ...

  7. Navicat Premium 12 激活

    链接:https://pan.baidu.com/s/1R4WB2JjKd0UYnN00CpUPSA 提取码:e3wy (破解工具及软件安装包) 破解流程:https://www.jianshu.co ...

  8. Mysql 简单的使用定时器调用存储过程

    1.创建测试的表 CREATE TABLE mytable (    id INT auto_increment NOT NULL,    NAME VARCHAR (100) NOT NULL DE ...

  9. zabbix+grafana实现可视化界面展示

    昨天,经理找我说河南有个项目,甲方要求,一定要展示出科技感,问问我有什么好的方案,经过本人深(fen)思(kuan)熟(bai)虑(du),终于找到了一个心仪的方案,就是把业务监控用 zabbix+g ...

  10. js节点操作实例

    写了一个简单的小例子来引用js实例 1. 初步节点操作: 2.兼容性节点操作: 3.节点的类型,名字: 4.使用setAttribute设置属性 5.节点复制操作: 6.删除和替换节点 如有错误,还望 ...