python之类与对象
一、概念:
类:类代表了具有相同特征的一类事物(人类)
对象/实例:具体的某一个事物或者是人(具体到某一个人)
实例化:将类变成对象的这么一个过程,即新建一个对象的过程,就是对类的一个实例化过程。(人类是一种生物类型,某个人是实例化人类,也就是某个人是人类的对象)
二、类的表达式:
格式:
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之类与对象相关推荐
- python之⾯向对象-多态
python之⾯向对象-多态 ⼀. ⾯向对象三⼤特性 封装 将属性和⽅法书写到类的⾥⾯的操作即为封装 封装可以为属性和⽅法添加私有权限 继承 ⼦类默认继承⽗类的所有属性和⽅法 ⼦类可以重写⽗类属性和⽅ ...
- python之⾯向对象-继承
python之⾯向对象-继承 ⼀. 继承的概念 ⽣活中的继承,⼀般指的是⼦⼥继承⽗辈的财产. 拓展1:经典类或旧式类 不由任意内置类型派⽣出的类,称之为经典类. class 类名:代码...... 拓 ...
- python之⾯向对象基础
python之⾯向对象基础 ⼀. 理解⾯向对象 ⾯向对象是⼀种抽象化的编程思想,很多编程语⾔中都有的⼀种思想. 例如:洗⾐服 思考:⼏种途径可以完成洗⾐服? 答: ⼿洗 和 机洗. ⼿洗:找盆 - 放 ...
- python做bi系统_如何使用Python创建可视化对象
早前,Power BI就已经支持使用Python创建可视化对象了,当你遇到自定义程度较高的可视化对象时,Python就大大的派上了用场:那么我们如何使用呢?接下来小悦就为各位伙伴们介绍一下吧~ 首先, ...
- python一切皆对象的理解_Python中万物皆对象?的理解
在很多地方都看到有过这样一句话,但是对象这个词的理解依然停留在谈朋友那个对象上-- python中一切皆为对象,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) ...
- java x00_有没有通过python反序列化java对象的方法
我将java对象存储在hbase中(例如,假设我有一个对象'User',有3个参数,比如firstname.middlename和lastname).我在java中使用以下代码进行序列化Object ...
- python怎样给对象赋值_Python对象赋值、浅拷贝和深拷贝
总结: 1.copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象 2.copy.deepcopy 深拷贝 拷贝对象及其子对象 1.对象赋值 will = ["Will&quo ...
- python中类方法与实例方法的区别-Python中的对象,方法,类,实例,函数用法分析...
本文实例分析了Python中的对象,方法,类,实例,函数用法.分享给大家供大家参考.具体分析如下: Python是一个完全面向对象的语言.不仅实例是对象,类,函数,方法也都是对象. class Foo ...
- zg手册 之 python2.7.7源码分析(1)-- python中的对象
为什么80%的码农都做不了架构师?>>> 源代码主要目录结构 Demo: python 的示例程序 Doc: 文档 Grammar: 用BNF的语法定义了Python的全部语法 ...
- python类包含对象的个数_python类与对象各个算数运算魔法方法总结
1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...
最新文章
- python中post请求太慢_python中POST请求的连续响应
- python网课推荐 知乎-知乎看了很多推荐,最终选了这本Python入门
- 洛谷 2921 记忆化搜索 tarjan 基环外向树
- 如何在 ASP.NET MVC 中集成 AngularJS(3)
- Debug和Release 老程序啊 调试之前 区分一下啊
- adsense 注册_adsense在注册时的注意事项
- python 非线性规划_支持向量机:Stata 和 Python 实现
- jsp使用rem页面内容不能根据屏幕分辨率自适应_为什么很多web项目还是使用 px,而不是 rem?...
- 老大:用脚本实现Nginx日志每天切分的功能?我:脱了裤子放屁!
- 【BZOJ】3436: 小K的农场
- 计算机组成原理——课程设计
- 屏蔽广告(广告终结者)-- CSDN 第一步
- 如何将图片转换成文字
- 机房服务器配置方案文件,机房搬迁实施方案模版
- 京郊经典路线之香八拉反穿游记
- 世界上第一台计算机论文,世界上公认的第一台电子计算机是1946年诞生。.doc
- 一张图搞懂什么是M0、M1 、M2
- 专访京东孙海波:大牛架构师养成记及电商供应链中区块链技术的应用(转)...
- ChineseLunisolarCalendar 农历日期
- IPhone4S自定义铃声
热门文章
- mysql命令添加用户名和密码_怎么给mysql添加用户名和密码
- Android Camera模块(一)
- 什么是以太网变压器?常用产品有哪些?百兆千兆万兆网络变压器产品图电路图原理图
- 王刚日记:网络兼职赚钱重点需要学哪些技能?
- 每日案例(第三期):智慧能源领域知识图谱实践案例速读03-04
- html5取消下拉菜单,Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)...
- 魅蓝5s 显示无服务器,性能充沛 魅蓝5s运行《王者荣耀》无压力通过
- 轻松玩抠图:图像去除背景方法与技巧
- 商务英文信函写法大全篇
- 商标注册和版权登记的区别有哪些