Python入门基础(9)__面向对象编程_1
- 定义一个只包含方法的类
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的更多相关文章
- Python入门基础(9)__面向对象编程_3
继承 子类自动继承父类的所有方法和属性 继承的语法: class 类名(父类名) pass 1.子类继承父类,可以直接使用父类中已经封装好的方法,不需要再次开发 2.子类可以根据需求,封装自己特有的属 ...
- Python入门基础(9)__面向对象编程_2
__str__方法 如果在开发中,希望使用print输出对象变量时,能够打印自定义的内容,就可以利用__str__这个内置方法了 注意:__str__方法必须返回一个字符串 class Cat(): ...
- python 入门基础22 --复习 面向对象
面向过程编程思想: 核心:过程 过程指的是解决问题的具体步骤,即先干什么再干什么. 基于该编程思想编写程序,相当于一条流水线,一种机械式的思维方式. 面向对象编程思想: 核心:对象 对象指的是数据与方 ...
- Python学习-第三天-面向对象编程基础
Python学习-第三天-面向对象编程基础 类和对象 简单的说,类是对象的蓝图和模板,而对象是类的实例.这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是具体的 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- [.net 面向对象编程基础] (2) 关于面向对象编程
[.net 面向对象编程基础] (2) 关于面向对象编程 首先是,面向对象编程英文 Object-Oriented Programming 简称 OOP 通俗来说,就是 针对对象编程的意思 那么问 ...
- 简学Python第三章__函数式编程、递归、内置函数
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- 简学Python第六章__class面向对象编程与异常处理
Python第六章__class面向对象编程与异常处理 欢迎加入Linux_Python学习群 群号:478616847 目录: 面向对象的程序设计 类和对象 封装 继承与派生 多态与多态性 特性p ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
随机推荐
- .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现
原文:.NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是 ...
- 声谱预测网络(Tacotron2)
整个特征预测网络是一个带有注意力机制(attention)的seq2seq网络. 编码器-解码器(Encoder-Decoder)结构 在原始的编码器-解码器结构中,编码器(encoder)输入一个序 ...
- C语言实现常用数据结构——栈
#include<stdio.h> #include<stdlib.h> //用链表实现栈 typedef struct Node { int data; struct Nod ...
- hadoop之文件管理基本操作
# 格式化hdfs hadoop namenode -format # 查看hadoop下的文件夹 hadoop fs -ls # 创建hdfs文件夹 hadoop fs -mkdir /user/i ...
- Electron构建一个文件浏览器应用(一)
在window.mac.linux系统中,他们都有一个共同之处就是以文件夹的形式来组织文件的.并且都有各自的组织方式,以及都有如何查询和显示哪些文件给用户的方法.那么从现在开始我们来学习下如何使用El ...
- spark 源码分析之二 -- SparkContext 的初始化过程
创建或使用现有Session 从Spark 2.0 开始,引入了 SparkSession的概念,创建或使用已有的session 代码如下: val spark = SparkSession .bui ...
- ZooKeeper学习之路(四)—— Java 客户端 Apache Curator
一.基本依赖 Curator是Netflix公司开源的一个Zookeeper客户端,目前由Apache进行维护.与Zookeeper原生客户端相比,Curator的抽象层次更高,功能也更加丰富,是目前 ...
- java模拟键鼠操作
很久之前百度的,所以忘记了作者,所以仅作为自己的日记纪录在此: package com.robot.test;import java.awt.AWTException;import java.awt. ...
- Java类库的源码
Java类库中的类,包括System.String.Scanner.Math.Random等:这些类也是用Java编写的. Java类库中包含数千个文件,其中的很多文件都包含数千行代码:因为Java类 ...
- 统一资源定位符URL
Uniform Resource Locate--URL 用途:通过URL访问web网页:通过URL使用其它的Internet应用程序,例如FTP,Telnet(远程登录服务):对应IE浏览器窗口中的 ...