• 定义一个只包含方法的类

  class 类名:

    def 方法1(self,参数列表):

      pass

    def 方法2(self,参数列表):

      pass

  当一个类定义之后,要使用这个类来创键对象.语法如下:

     对象变量 = 类名()

eg:

class Car():
def one(self):
print('这是一辆法拉利') def two(self):
print('这是一辆特斯拉') a = Car()
a.one()
a.two()

结果:

这是一辆法拉利
这是一辆特斯拉

  在这同样使用上面的方法来演示给对象添加属性之后是什么样的效果

class Car():
def one(self):
print(f'这是一辆法拉利 {self.name}') def two(self):
print('这是一辆特斯拉') a = Car()
a.name = '张三' #给对象添加属性
a.one()
a.two()

结果:

这是一辆法拉利  张三
这是一辆特斯拉

提示:

  1.不推荐在类的外部给对象添加属性

  2.在运行时,如果程序没有找到属性就会报错

  3.对象拥有哪些属性,应当包含在类的内部

  • 初始化方法

  1.当使用  类名() 创键对象时,会自动执行以下操作

      (1) 为对象在内存中分配空间----创键对象(调用__new__)

      (2) 为对象的属性设置初始值----初始化方法(调用__init__并且将对一步创建的对象通过self参数传给__init__)

   2.初始化方法就是__init__方法,__init__是对象的内置方法

  __init__方法是用来专门定义一个类具有哪些属性并且给出这些属性的初始值的方法

class Car():
def __init__(self):
print('这是一个怪物类')
self.name = 'tom' def eat(self):
print('%s 爱吃鱼'%self.name) #使用类名实例化的时候会自动调用初始化方法__init__
a = Car()
a.eat()

结果

这是一个怪物类
tom 爱吃鱼

  如果希望在创建对象时,就设置对象的属性,可以进行相应的改造

  1.把希望定义的属性值,设置为__init__方法的参数

  2.在方法的内部使用self.属性 = 形参 接收外部传递的参数

  3.在创建对象时,使用name(属性1,属性2.....)调用

class Car():
def __init__(self,name):
self.name = name def eat(self):
print('%s 爱吃鱼'%self.name) #创建对象,将参数传进去
a = Car('汤姆')
a.eat()

结果;

汤姆 爱吃鱼

Python入门基础(9)__面向对象编程_1的更多相关文章

  1. Python入门基础(9)__面向对象编程_3

    继承 子类自动继承父类的所有方法和属性 继承的语法: class 类名(父类名) pass 1.子类继承父类,可以直接使用父类中已经封装好的方法,不需要再次开发 2.子类可以根据需求,封装自己特有的属 ...

  2. Python入门基础(9)__面向对象编程_2

    __str__方法 如果在开发中,希望使用print输出对象变量时,能够打印自定义的内容,就可以利用__str__这个内置方法了 注意:__str__方法必须返回一个字符串 class Cat(): ...

  3. python 入门基础22 --复习 面向对象

    面向过程编程思想: 核心:过程 过程指的是解决问题的具体步骤,即先干什么再干什么. 基于该编程思想编写程序,相当于一条流水线,一种机械式的思维方式. 面向对象编程思想: 核心:对象 对象指的是数据与方 ...

  4. Python学习-第三天-面向对象编程基础

    Python学习-第三天-面向对象编程基础 类和对象 简单的说,类是对象的蓝图和模板,而对象是类的实例.这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是具体的 ...

  5. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

  6. [.net 面向对象编程基础] (2) 关于面向对象编程

    [.net 面向对象编程基础]  (2)  关于面向对象编程 首先是,面向对象编程英文 Object-Oriented Programming 简称 OOP 通俗来说,就是 针对对象编程的意思 那么问 ...

  7. 简学Python第三章__函数式编程、递归、内置函数

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  8. 简学Python第六章__class面向对象编程与异常处理

    Python第六章__class面向对象编程与异常处理 欢迎加入Linux_Python学习群  群号:478616847 目录: 面向对象的程序设计 类和对象 封装 继承与派生 多态与多态性 特性p ...

  9. Python 入门基础6 --字符编码、文件操作1

    今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...

随机推荐

  1. 基于VUE实现的新闻后台管理系统-一

    基于VUE实现的新闻后台管理系统 前段时间拿到一个关于新闻后台的API,测试数据库使用SQLite,Restful服务是用Go写的,只要运行特定环境下的脚本(run.*)就会启动一个服务,依次后台为接 ...

  2. ORA-19625: error identifying file XXXXX

    在RMAN备份全库的时候,将归档日志一同进行备份,结果报如下错误,可以看到是无法获得对应归档日志的报错: RMAN: ========================================= ...

  3. Oracle 宣布 Java 7 生命周期终结

    快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中.   <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...

  4. 关于Windows更新窗口内容的问题(作为一个实验,效果很明显)

    Windows中的窗口在特定情况下会由系统进行重绘,如无效区域重新显现时,,会向窗口的处理过程发送VM_PAINT消息,但是,可能还有Windows自己的更新窗口处理,如在下面的代码中,将击键显式地转 ...

  5. qt 自动重启(两种方法)

    所谓自动重启就是程序自动关闭后在重新打开: 一般一个qt程序main函数如下: int main(int argc, char* argv[]) { QApplication app(argc, ar ...

  6. Python基础(六) 函数

    .函数 函数是对动作的封装 2.1函数的基本结构 #函数的定义 def 函数名(): #函数提 pass #函数的执行 函数名() 2.2参数初识 #形参 def hanshu(aaa): #参数相当 ...

  7. Application生命周期(一)

    1.Application是什么? Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个 application对 ...

  8. 报错:java.sql.SQLException: The server

    报错:java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized 在IDEA运行是报出例如相识的错误时: ...

  9. 老雷socket编程之websocket实现

    老雷socket编程之websocket实现 我们主要实现私聊和群聊两个功能,要在web端实现想微信QQ那样的即时通讯的功能,我们需要了解一下websocket.websocket是一种可以双向通讯的 ...

  10. JS中 【“逻辑运算”,“面试题:作用域问题”,“dom对象”】这些问题的意见见解

    1.逻辑运算 ||  &&  ! ||:遇到第一个为true的值就中止并返回 &&:遇到第一个为false的值就中止并返回,如果没有false值,就返回最后一个不是fa ...