目录

Python类和对象

一、创建类

二、创建对象

三、init() 函数

四、对象方法

五、自参数

六、对象及其属性更改

七、pass语句


Python类和对象

Python 类/对象。Python 是一种面向对象的编程语言。Python 中的几乎所有东西都是一个对象,有它的属性和方法。类就像一个对象构造函数,或者是创建对象的“蓝图”。

一、创建类

要创建一个类,请使用关键字class
例如:创建一个名为 MyClass 的类,其属性名为 x

class MyClass:x = 5
print(MyClass)

二、创建对象

现在我们可以使用名为 MyClass 的类来创建对象。
例如创建一个名为 p1 的对象,并打印 x 的值:

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

返回:

三、init() 函数

上面的例子是最简单形式的类和对象,在现实生活应用程序中并没有真正有用。要理解类的含义,我们必须了解内置的 init() 函数。所有类都有一个名为 init() 的函数,它总是在类被初始化时执行。使用 init() 函数为对象属性赋值,或在创建对象时需要执行的其他操作。

例如创建一个名为 Person 的类,使用 init() 函数为 name 和 age 赋值:

class Person:def __init__(self, name, age):self.name = nameself.age = agep1 = Person("川川菜鸟", 20)print(p1.name)
print(p1.age)

返回:

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

四、对象方法

让我们在 Person 类中创建一个方法。
例如插入一个打印问候语的函数,并在 p1 对象上执行它:

class Person:def __init__(self, name, age):self.name = nameself.age = agedef myfunc(self):print("我的名字是 " + self.name)p1 = Person("笨洋洋", 20)
p1.myfunc()

返回:

​​​​​​​

五、自参数

self参数是对类当前实例的引用,用于访问属于该类的变量。它不必命名self,您可以随意调用它,但它必须是类中任何函数的第一个参数:

class Person:def __init__(myobject, name, age):myobject.name = namemyobject.age = agedef myfunc(abc):print("我的名字是 " + abc.name)p1 = Person("笨洋洋", 20)
p1.myfunc()

跟使用self效果一样

​​​​​​​

六、对象及其属性更改

替换
例如修改年龄为21

class Person:def __init__(myobject, name, age):myobject.name = namemyobject.age = agedef myfunc(abc):print("我的名字是 " + abc.name)p1 = Person("笨洋洋", 20)
p1.age = 21
print(p1.age)

返回:

删除对象属性
例如从 p1 对象中删除 age 属性:

class Person:def __init__(self, name, age):self.name = nameself.age = agedef myfunc(self):print("Hello my name is " + self.name)
p1 = Person("John", 36)
del p1.age
print(p1.age)#没有了自然打印报错

删除对象
比如删除对象p1

class Person:def __init__(self, name, age):self.name = nameself.age = agedef myfunc(self):print("Hello my name is " + self.name)p1 = Person("John", 36)del p1print(p1)#对象都不在了肯定报错

七、pass语句

class定义不能为空,但如果您出于某种原因有一个class没有内容的定义,请放入pass语句中以避免出错。

class Person:pass

python基础(14)之 类和对象相关推荐

  1. Python基础(十八): 类和对象以及它们的属性

    一.类 最简单的经典类结构 class 类名:pass 复制代码 1.定义一个类 class Money:pass 复制代码 类名规范: 驼峰命名法, 并且首字母大写 2.实例化一个对象 创建一个对象 ...

  2. Python基础之初识类和对象

    我们在前面学习了解了面向过程编程,接下来我们一起来学习一下面向对象编程.其实不管是面向过程,还是面向对 象,说白了就是一种编程方式而已.既然是面向对象编程,顾名思义,此编程方式的落地需要使用 &quo ...

  3. python用来初始化对象属性的是_猪行天下之Python基础——8.1 类与对象

    内容简述: 1.面相对象的理解 2.类与对象 3.继承 4.组合 5.对象相关的内置函数 1.面相对象的理解 考虑到部分读者可能没有接触过面向对象编程,所以先介绍下面向对象的一些特征,形成一个面向对象 ...

  4. python基础教程:类和对象

    Python的类(class)是抽象的概念,是指一类实例对象的集合,该实例具有相同的属性和方法,而对象(object)是类的具体的实例. 类的定义语法如下所示,最重要的两个部分是属性和方法: clas ...

  5. Python学习笔记 (类与对象)

    Python学习笔记 (类与对象) 1.类与对象 面向对象编程语言类: 一个模板, (人类)-是一个抽象的, 没有实体的对象: (eg: 张三, 李四) 属性: (表示这类东西的特征, 眼睛, 嘴巴, ...

  6. python 类 对象 知乎_python基础知识:类,对象,模块三者的区别

    长话短说,我线代作业还没有写呢. 有点编程语言知识的朋友应该知道,编程语言有"面向对象"和"面向过程"两种. 解释一下:面向对象技术是目前流行的系统设计开发技术 ...

  7. Python入门基础(6)--面向对象/类和对象/魔术方法

    面向对象基本概述 面向对象(Object Oriented Programming,OOP)编程:扩展性更强.可读性更好.面向对象的编程将数据和操作数据封装到对象中,组织代码和数据的方式更接近人的思维 ...

  8. Python编程基础16:类和对象

    文章目录 零.本讲学习目标 一.面向对象 (一)程序员"面向对象" (二)两种编程思想实现五子棋 (三)面向过程 vs. 面向对象 (三)面向对象三大特点 1.封装(encapsu ...

  9. python学习day2:类与对象

    类与对象 一.内置函数 1.int方法 (1)def__add__(self, y):       #两数相加 """ x.__add__(y) <==> x ...

  10. Python(八)类与对象

    1.改变对象的字符串显示 要改变一个实例的字符串表示,可重新定义它的 __str__() 和 __repr__() 方法 class Pair:def __init__(self, x, y):sel ...

最新文章

  1. 心得丨一位资深程序员大牛给予Java初学者的学习路线建议
  2. Pycharm跳转回之前所在的代码行
  3. OC--有这么一个 整数 123456789,如何将这个整数的每一位数,从末位开始依次放入数组中,并遍历 倒序输出字符串...
  4. sql2005,sql2008,sql2012清空日志语句
  5. 产品思维-产品初期准备
  6. VC++ MFC单文档应用程序SDI下调用glGenBuffersARB(1, pbo)方法编译通过但执行时出错原因分析及解决办法:glewInit()初始化的错误...
  7. 将不确定变为确定~头压缩是否有必要,MVC如何实现头压缩
  8. DOS批处理中%cd%和%~dp0的区别
  9. 为什么php不能用了,为什么php不能做大型系统?
  10. As Foxit Software disclosed in its prospectus
  11. codesys raspberry pi_【Pi讯早餐】2020.11.02 星期一gt;gt;
  12. spring 事务配置
  13. sql数据类型_SQL数据类型
  14. 纯css3实现瀑布流布局
  15. 算法89---图的最小生成树
  16. 大数据理论与实践9 分布式数据仓库Inceptor
  17. 全国java二级考试范围,全国计算机二级Java考试大纲
  18. java算法训练 Interval
  19. Nginx跨域配置详解
  20. html投影电脑,投影仪怎么连接电脑 电脑连接投影仪方法【步骤】

热门文章

  1. mysql 主从备份问题_我遇到的mysql主从同步的问题
  2. mysql server_id作用_MySQL复制过程中server-id的理解
  3. PP视频如何播放本地视频文件
  4. win8的开始菜单不见了怎么办
  5. JDK线程池CompletionService的使用
  6. Java 8 Stream Api 中的 peek、map、foreach区别
  7. JAVA 判断Socket 远程端是否断开连接
  8. java 磁盘空间_如何使用Java查找剩余的磁盘空间?
  9. brew 安装mysql5.6_MacOS 10.14安装和brew更新后无法安装mysql gem
  10. Gensee移动SDK之(二)协议