Python 类/对象

Python 是一种面向对象的编程语言。
Python 中的几乎所有东西都是对象,拥有属性和方法。
类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”。

创建类

class关键字用来创建类

class MyClass:   x = 5

创建对象

创建类后,需要创建对象来调用类

class MyClass:   x = 5p1 = MyClass()
print(p1.x)

上面的例子是最简单形式的类和对象,在实际应用程序中并不真正有用。

init() 函数

所有类都有一个名为 __init__()的函数,__init__()函数在启动类时执行
使用 init() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作

class Person:   def __init__(self, name, age):     self.name = name     self.age = age if __name__ == "__main__":p1 = Person("Tom", 18) print(p1.name) print(p1.age)

注意:每次使用类创建新对象时,都会自动调用 __init__()函数。

对象方法

对象也可以包含方法,对象中的方法是属于该对象的函数

class Person:   def __init__(self, name, age):     self.name = name     self.age = age   def myfunc(self):     print("Hello my name is " + self.name) if __name__ == "__main__":        p1 = Person("Tom", 18) p1.myfunc()

提示:self 参数是对类的当前的引用,用于访问属于该类的变量。

self 参数

self参数是对类的当前的引用,用于访问该类访问范围内的变量
它不必被命名为self,可以定义为任何名称,但它必须是类中任意函数的首个参数

class Person:   def __init__(myself, name, age):     myself.name = name     myself.age = age   def myfunc(abc):     print("Hello my name is " + abc.name)if __name__ == "__main__":p1 = Person("Tom", 18) p1.myfunc()

修改对象属性

您可以这样修改对象的属性

class Person:def __init__(self, name, age):self.name = nameself.age = agedef myfunc(self):print("Hello my name is " + self.name)if __name__ == "__main__":p1 = Person("Tom", 18)   p1.age = 81    print(p1.age)

删除对象属性

您可以使用del关键字删除对象的属性

class Person:def __init__(self, name, age):self.name = nameself.age = agedef myfunc(self):print("Hello my name is " + self.name)if __name__ == "__main__":p1 = Person("Tom", 18)del p1.age print(p1.age)

注意:AttributeError这个错误就是说python找不到对应的对象的属性

删除对象

使用del关键字删除对象

class Person:def __init__(self, name, age):self.name = nameself.age = agedef myfunc(self):print("Hello my name is " + self.name)if __name__ == "__main__":p1 = Person("Tom", 18)del p1print(p1)

注意:NameError是未命名错误

pass 语句

类定义不能为空,但是如果您处于某种原因写了无内容的类定义语句,请使用 pass 语句来避免错误

class Person:   pass

Python(九)类和对象相关推荐

  1. Python基础(类与对象)

    Python基础(类与对象) 一.编程的两大思想 面向过程和面向对象 面向过程 面向对象 区别 事物比较简单,可以用线性的思维去解决 事物比较复杂,使用简单的线性思维无法解决 共同点:面向对象和面向过 ...

  2. Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法

    Day09新手小白学python 第九节 Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法 目录 Day09新手小白学python 前言 一.面向对象介绍 二 ...

  3. 淮阴工学院C语言考试题库,淮阴工学院c++实验报告实验九类和对象

    <淮阴工学院c++实验报告实验九类和对象>由会员分享,可在线阅读,更多相关<淮阴工学院c++实验报告实验九类和对象(9页珍藏版)>请在装配图网上搜索. 1.淮阴工学院c+实验报 ...

  4. Python基础——类与对象

    Python基础--类与对象 Python基础--类与对象 类与对象 数据类型 对象 类的创建 创建语法 类的创建 对象的创建 对象调用类中的内容 类属性,类方法,静态方法 类属性 访问类属性 类方法 ...

  5. Python深入类和对象

    一. 鸭子类型和多态 1.什么是鸭子类型: 在程序设计中,鸭子类型(英语:Duck typing)是动态类型和某些静态语言的一种对象推断风格."鸭子类型"像多态一样工作,但是没有继 ...

  6. python的类和对象_Python类与对象实验

    一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. 二. ...

  7. Python的零基础超详细讲解(第十三天)-Python的类与对象

    基础篇往期文章如下: Python的零基础超详细讲解(第一天)-Python简介以及下载 Python的零基础超详细讲解(第二天)-Python的基础语法1 Python的零基础超详细讲解(第三天)- ...

  8. Python进阶-----类、对象的相关知识

    一.声明类 class 类名: #一般类名的首字母大写 '类的文档字符串' 类体 例如创建一个中国人的类: 1 class Chinese: 2 '这是一个中国人的类' #类的文档字符串 3 name ...

  9. python的类和对象——类的静态字段番外篇

    什么是静态字段 在开始之前,先上图,解释一下什么是类的静态字段(我有的时候会叫它类的静态变量,总之说的都是它.后面大多数情况可能会简称为类变量.): 我们看上面的例子,这里的money就是静态字段,首 ...

  10. python 类-如何理解python的类与对象?

    挂一个自己的学习笔记 这个时间一长就搞错了,还经常回头来看一看,尤其是self的用法. python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也 ...

最新文章

  1. HTML基础重要知识点图文,HTML5基础知识点总结
  2. abaqus的python安装文件在哪_python、abaqus执行脚本路径
  3. 一看就会的OSPF路由协议综合实验
  4. First Unique Character in a String(字符串中的第一个唯一字符)
  5. 【洛谷P4124】[CQOI2016]手机号码
  6. 一个很好用的DBHelper类(包括使用SQL语句 存储过程 事务 做相关操作) 入门级
  7. 程序员破解推荐系统瓶颈,带来超百亿收入增量!
  8. 关于Oracle-SQL语句性能优化
  9. 按键云数据仓库平台 ,连接按键精灵和云端数据库,可自行配置用做网络验证或云端配置
  10. 【华为云技术分享】Linux内核发展史 (1)
  11. 一个JSP页面打开另外一个JSP页面并传值
  12. 小豆社保「社保代缴」短信接口被盗刷解决方案-企业短信防火墙
  13. 学习笔记:LM2662开关电容器电压转换器
  14. python与spider的区别_python – Scraw spider与Scraped items之间的区别
  15. 2017 ACM Arabella Collegiate Programming Contest
  16. 视频流TS打包方式详解
  17. mybatis学习:二、 Mybatis的Dao开发、mybatis-config.xml文件的详情
  18. 6 生僻字_戓、弚、圡什么鬼?这些生僻字逼死强迫症!
  19. Python Tox介绍和使用
  20. [十月往昔]——Linux内核中的内存管理浅谈

热门文章

  1. 解决ImportError: bad magic number in ‘lstm‘: b‘\x03\xf3\r\n‘
  2. 站子风口上的“TikTok”:海外版抖音TikTok的三种变现模式!
  3. 德尔玛IPO一波三折,85后创始人蔡铁强继续“上市梦“
  4. powervm_使用IBM Flex System Manager管理IBM PowerVM环境
  5. SAP开发框架系列之 快速翻译功能
  6. 南邮非全日制计算机专业怎么样,2019年南京邮电大学在职研究生哪个证书的含金量比较低...
  7. android脱出游戏,脱出游戏Mimic游戏(攻略)
  8. 项目的目的,目标和范围的区别
  9. 粒商城项目总结(二)-高级篇
  10. Web Workers - (Worker(专有) and SharedWorker(共享))