一、概念:

类:类代表了具有相同特征的一类事物(人类)

对象/实例:具体的某一个事物或者是人(具体到某一个人)

实例化:将类变成对象的这么一个过程,即新建一个对象的过程,就是对类的一个实例化过程。(人类是一种生物类型,某个人是实例化人类,也就是某个人是人类的对象)

二、类的表达式:

格式:

class Person:  pass

注意:

1、以class开头来定义一个类

2、类名命名规则:可由数字字母下划线组成 不能以数字开头 首字母大写 驼峰命名

3、python3+版本中已经不需要在在类后加上object,那是python2的用法,例如:class Person(object)

三、类属性与类方法:

python的类里包括类属性和类方法

class Person:
#类属性person_year = 11
#类方法def Run(self):print("run")

注意:类方法里的self 是固定占坑符号,又代表实例本身,类里面的方法都会有self,实例化对象的时候,对象是谁,self就是谁

四、创建对象:

对象实例化也称为创建对象

格式:实例 = 类名() 是可以调用类里面的任意函数

调用属性: 实例.属性名

调用方法: 实例.方法名()

类属性:类方法可以用类名直接调用,不需要实例化来调用

# 定义一个Person的类
class Person:#name为类属性name  = "小明"def (self):print("run")
# 创建一个p对象
p = Person()
print(p.name)  # 调用对象的属性,结果为小明
p.run()  # 调用对象的方法,结果为run

四、类方法分类:

类里面方法是分为三种

1、实例方法: (self) 只能给对象调用,需要穿件对象才能用起来,类直接调用是用不了的

class Person:def 实例方法名(self):pass
Person().实例方法名()

2、类方法: @classmethod (cls)不用实例来调用方法

类方法是所有实例的共性,是类里面公用的,cls-代表当前类,类方法可以用类名直接调用,不需要实例化来调用

class Person:@classmethoddef 类方法名(cls):print(1)
Person.类方法名() # 结果为1

3、静态方法: @staticmethod (普通方法) 没有必然的参数类或者对象关系,只不过它放在类里面,一般给类自己用的,用于类里面的某些方法,提供方法支持

class Person:@staticmethoddef 静态方法名():print(1)def test(self):静态方法名()

五、实例方法/类方法/静态方法的区别:

相同点: 实例方法/类方法/静态方法, 实例和类名都可以直接调用

不同点: 静态方法 和类方法 不可以调用类里面的属性值 如果要参数 需自己传递参数

什么时候去定义静态和类方法: 当你的某个函数与其他的类函数和类属性没有关系

初始化函数使用: 如果某个属性值是多个函数公用的 就可以使用初始化函数 没有return

python之类与对象相关推荐

  1. python之⾯向对象-多态

    python之⾯向对象-多态 ⼀. ⾯向对象三⼤特性 封装 将属性和⽅法书写到类的⾥⾯的操作即为封装 封装可以为属性和⽅法添加私有权限 继承 ⼦类默认继承⽗类的所有属性和⽅法 ⼦类可以重写⽗类属性和⽅ ...

  2. python之⾯向对象-继承

    python之⾯向对象-继承 ⼀. 继承的概念 ⽣活中的继承,⼀般指的是⼦⼥继承⽗辈的财产. 拓展1:经典类或旧式类 不由任意内置类型派⽣出的类,称之为经典类. class 类名:代码...... 拓 ...

  3. python之⾯向对象基础

    python之⾯向对象基础 ⼀. 理解⾯向对象 ⾯向对象是⼀种抽象化的编程思想,很多编程语⾔中都有的⼀种思想. 例如:洗⾐服 思考:⼏种途径可以完成洗⾐服? 答: ⼿洗 和 机洗. ⼿洗:找盆 - 放 ...

  4. python做bi系统_如何使用Python创建可视化对象

    早前,Power BI就已经支持使用Python创建可视化对象了,当你遇到自定义程度较高的可视化对象时,Python就大大的派上了用场:那么我们如何使用呢?接下来小悦就为各位伙伴们介绍一下吧~ 首先, ...

  5. python一切皆对象的理解_Python中万物皆对象?的理解

    在很多地方都看到有过这样一句话,但是对象这个词的理解依然停留在谈朋友那个对象上-- python中一切皆为对象,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) ...

  6. java x00_有没有通过python反序列化java对象的方法

    我将java对象存储在hbase中(例如,假设我有一个对象'User',有3个参数,比如firstname.middlename和lastname).我在java中使用以下代码进行序列化Object ...

  7. python怎样给对象赋值_Python对象赋值、浅拷贝和深拷贝

    总结: 1.copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象 2.copy.deepcopy 深拷贝 拷贝对象及其子对象 1.对象赋值 will = ["Will&quo ...

  8. python中类方法与实例方法的区别-Python中的对象,方法,类,实例,函数用法分析...

    本文实例分析了Python中的对象,方法,类,实例,函数用法.分享给大家供大家参考.具体分析如下: Python是一个完全面向对象的语言.不仅实例是对象,类,函数,方法也都是对象. class Foo ...

  9. zg手册 之 python2.7.7源码分析(1)-- python中的对象

    为什么80%的码农都做不了架构师?>>>    源代码主要目录结构 Demo: python 的示例程序 Doc: 文档 Grammar: 用BNF的语法定义了Python的全部语法 ...

  10. python类包含对象的个数_python类与对象各个算数运算魔法方法总结

    1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...

最新文章

  1. python中post请求太慢_python中POST请求的连续响应
  2. python网课推荐 知乎-知乎看了很多推荐,最终选了这本Python入门
  3. 洛谷 2921 记忆化搜索 tarjan 基环外向树
  4. 如何在 ASP.NET MVC 中集成 AngularJS(3)
  5. Debug和Release 老程序啊 调试之前 区分一下啊
  6. adsense 注册_adsense在注册时的注意事项
  7. python 非线性规划_支持向量机:Stata 和 Python 实现
  8. jsp使用rem页面内容不能根据屏幕分辨率自适应_为什么很多web项目还是使用 px,而不是 rem?...
  9. 老大:用脚本实现Nginx日志每天切分的功能?我:脱了裤子放屁!
  10. 【BZOJ】3436: 小K的农场
  11. 计算机组成原理——课程设计
  12. 屏蔽广告(广告终结者)-- CSDN 第一步
  13. 如何将图片转换成文字
  14. 机房服务器配置方案文件,机房搬迁实施方案模版
  15. 京郊经典路线之香八拉反穿游记
  16. 世界上第一台计算机论文,世界上公认的第一台电子计算机是1946年诞生。.doc
  17. 一张图搞懂什么是M0、M1 、M2
  18. 专访京东孙海波:大牛架构师养成记及电商供应链中区块链技术的应用(转)...
  19. ChineseLunisolarCalendar 农历日期
  20. IPhone4S自定义铃声

热门文章

  1. mysql命令添加用户名和密码_怎么给mysql添加用户名和密码
  2. Android Camera模块(一)
  3. 什么是以太网变压器?常用产品有哪些?百兆千兆万兆网络变压器产品图电路图原理图
  4. 王刚日记:网络兼职赚钱重点需要学哪些技能?
  5. 每日案例(第三期):智慧能源领域知识图谱实践案例速读03-04
  6. html5取消下拉菜单,Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)...
  7. 魅蓝5s 显示无服务器,性能充沛 魅蓝5s运行《王者荣耀》无压力通过
  8. 轻松玩抠图:图像去除背景方法与技巧
  9. 商务英文信函写法大全篇
  10. 商标注册和版权登记的区别有哪些