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

  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. UWP-HttpClient

    原文:UWP-HttpClient 基本格式: HttpClient client = new HttpClient(); Uri uri = new Uri(url); HttpResponseMe ...

  2. Delphi 导出数据至Excel的7种方法

    一; delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):bool ...

  3. Android View 滚动边界的测量

    最近一直在用Android TV的RecyclerView,实现视频搜索列表卡片的滚动显示,由于采用了双排滚动,打破了系统默认的单排滚动,且每一屏幕显示10个完整卡片5个半漏边卡片,每个完整卡片的左下 ...

  4. 修改Maven的本地仓库地址

    已经配置好的设定文件: 1.创建一个本地仓库的地址 2.修改Maven中conf目录下的settings.xml文件 在此处添加修改后的本地仓库的地址   3.打开cmd 输入mvn help:sys ...

  5. Tinyhttpd for Windows(500多行)

    TinyHTTPd forWindows 前言 TinyHTTPd是一个开源的简易学习型的HTTP服务器,项目主页在:http://tinyhttpd.sourceforge.NET/,源代码下载:h ...

  6. C# Task 的用法

    C# Task 的用法(转自:http://www.wxzzz.com/683.html#) 其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观.代码更简洁了,使用Task来 ...

  7. jquery事件和动画操作集锦

    一,事件 1,加载事件 1 2 3 4 5 6 $(document).ready(function(){   //todo }); //dom准备就绪后执行ready里面的函数,此时dom对应的相关 ...

  8. Qt5 中对 C++11 一些新特性的封装

    在 Qt5 中,提供更多 C++11 的特性支持,接下来我们将进行详细的说明. slots (槽) 的 Lambda 表达式 Lambda表达式 是 C++11 中的一个新语法,允许定义匿名函数.匿名 ...

  9. What?Tomcat-竟然也算中间件?

    关于 MyCat 的铺垫文章已经写了两篇了: MySQL 只能做小项目?松哥要说几句公道话! 北冥有 Data,其名为鲲,鲲之大,一个 MySQL 放不下! 今天是最后一次铺垫,后面就可以迎接大 Bo ...

  10. redission-tomcat:快速实现从单机部署到多机部署

    原文地址: http://blog.jboost.cn/2019/06/29/session-redis.html 一些项目初期出于简单快速,都是做单机开发与部署,但是随着业务的扩展或对可用性要求的提 ...