学习python类方法与对象方法
本文实例针对python的类方法与对象方法进行学习研究,具体内容如下
class Test_Demo: TEST = 'test_value' def __init__(self,name,age): self.name = name self.age = age #static method @staticmethod def test_static(): return Test_Demo.TEST #特性 @property def test_property(self): return self.name+':'+str(self.age) #类方法 @classmethod def test_class(self): return self.TEST if __name__ == '__main__': test_demo = Test_Demo('zj',23) #print(test_demo.name) print(Test_Demo.test_static()) print(test_demo.test_property) print(test_demo.test_class())
输出结果:
注:与php不同的是:
类方法和静态方法可以访问类的静态变量(类变量,TEST),但都不能访问实例变量(即name,age)
如果访问了就会报错:
以上就是本文的全部内容吗,希望对大家的学习有所帮助。
相关推荐
-
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
注:使用的是Python2.7. 一.实例方法 实例方法就是类的实例能够使用的方法.如下: 复制代码 代码如下: class Foo: def __init__(self, name): self.name = name def hi(self): print self.name if __name__ == '__main__': foo01 = Foo('letian') foo01.hi() print type(Foo) p
-
Python实现多行注释的另类方法
Python程序的注释感觉很不合群,对于习惯了使用/**/多行注释的人来说,到Python中只能使用#号进行单行注释很痛苦. 复制代码 代码如下: # 这里是单行注释 # a = 50 # b = 10 # c = 10 其实我们可以通过多行文本定义的格式实现多行注释: 复制代码 代码如下: """ # 这里是多行注释 a = 50 b = 10 c = 10 """ 这个方法感觉还不错,跟/**/多行注释用起来没
-
Python类方法__init__和__del__构造、析构过程分析
最近学习<Python参考手册>学到Class部分,遇到了类的构造析构部分的问题: 1.什么时候构造? 2.什么时候析构? 3.成员变量如何处理? 4.Python中的共享成员函数如何访问? ------------------------ 探索过程: 1.经过查找,Python中没有专用的构造和析构函数,但是一般可以在__init__和__del__分别完成初始化和删除操作,可用这个替代构造和析构.还有一个__new__用来定制类的创建过程,不过需要一定的配置,此处不做讨论. 2.类的成员函
-
python的类方法和静态方法
本文实例讲述了python的类方法和静态方法.分享给大家供大家参考.具体分析如下: python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神马? python中实现静态方法和类方法都是依赖于python的修饰器来实现的. 复制代码 代码如下: class MyClass: def method(self): print("method") @staticmethod def stat
-
Python中绑定与未绑定的类方法用法分析
本文实例讲述了Python中绑定与未绑定的类方法.分享给大家供大家参考,具体如下: 像函数一样,Python中的类方法也是一种对象.由于既可以通过实例也可以通过类来访问方法,所以在Python里有两种风格: 未绑定的类方法:没有self 通过类来引用方法返回一个未绑定方法对象.要调用它,你必须显示地提供一个实例作为第一个参数. 绑定的实例方法:有self 通过实例访问方法返回一个绑定的方法对象.Python自动地给方法绑定一个实例,所以我们调用它时不用再传一个实例参数. 两种方法都是对象,它们可
-
介绍Python中几个常用的类方法
内置方法 说明 __init__(self,...) 初始化对象,在创建新对象时调用 __del__(self) 释放对象,在对象被删除之前调用 __new__(cls,*args,**kwd) 实例的生成操作 __str__(self) 在使用print语句时被调用 __getitem__(self,key) 获取序列的索引key对应的值,等价于seq[key] __len__(self) 在调用内联函数len()时被调用 __cmp__(stc,dst) 比较两个对象src和dst __ge
-
学习python类方法与对象方法
本文实例针对python的类方法与对象方法进行学习研究,具体内容如下 class Test_Demo: TEST = 'test_value' def __init__(self,name,age): self.name = name self.age = age #static method @staticmethod def test_static(): return Test_Demo.TEST #特性 @property def test_property(self): return s
-
解析python 类方法、对象方法、静态方法
python中实现静态方法和类方法都是依赖于python的修饰器来实现的. 对象方法有self参数,类方法有cls参数,静态方法是不需要这些附加参数的. 1.我们已经讨论了类/对象可以拥有像函数一样的方法,这些对象方法与函数的区别只是一个额外的self变量 # -*- coding:utf-8 -*- #!/usr/bin/python # Filename: method.py class Person: grade=1 def __init__(self,name): self.name =
-
用pickle存储Python的原生对象方法
在Python中存储数据到文件中时,简单的做法是调用open函数执行文件写入操作,但是这样做的话,当我们要重新读取文件内容时,就会出现类型不匹配的情况,因为读取的都是字符串的形式,所以还需要进行类型转换,这样不简洁. 或者使用eval函数把字符串转换为对象,但是有时它过于强大,它会执行Python的任何表达式,甚至做出威胁系统正常工作的表达式,这样做不安全. 如果想存储Python原生对象,但又无法信赖文件的数据来源,那么pickle模块会是个理想的选择. pickle模块是能够让我们直接在文件
-
python urllib urlopen()对象方法/代理的补充说明
python urllib urlopen()对象方法/代理的补充说明 urllib 是 python 自带的一个抓取网页信息一个接口,他最主要的方法是 urlopen(),是基于 python 的 open() 方法的.下面是主要说明: urllib.urlopen('网址') 这里传入urlopen()的参数有特别说要求,要遵循一些网络协议,比如http,ftp,也就是说,在网址的开头必须要有http://这样的说明,如:urllib.urlopen('http://www.baidu.co
-
把JSON数据格式转换为Python的类对象方法详解(两种方法)
JOSN字符串转换为自定义类实例对象 有时候我们有这种需求就是把一个JSON字符串转换为一个具体的Python类的实例,比如你接收到这样一个JSON字符串如下: {"Name": "Tom", "Sex": "Male", "BloodType": "A", "Hobbies": ["篮球", "足球"]} 我需要把这个转换为具
-
Python 面向对象静态方法、类方法、属性方法知识点小结
本文实例讲述了Python 面向对象静态方法.类方法.属性方法知识点.分享给大家供大家参考,具体如下: (1)静态方法-->-@staticmethod装饰类中方法 只是名义上归类管理, 实际上在静态方法里访问不了类或实例中的任何属性 class Dog(object): def __init__(self,name): self.name = name @staticmethod #实际上跟类没什么关系了 def eat(self): print("%s is eating %s&quo
-
Python List列表对象内置方法实例详解
本文实例讲述了Python List列表对象内置方法.分享给大家供大家参考,具体如下: 前言 在上一篇中介绍了Python的序列和String类型的内置方法,本篇继续学习作为序列类型成员之一的List类型的内置方法. 软件环境 系统 UbuntuKylin 14.04 软件 Python 2.7.3 IPython 4.0.0 列表List 列表是一种容器,存放内存对象的引用.即是任意内存对象的有序集合,不同的类型对象可以存放在同一个列表中.通过索引来访问其中的元素.可以任意的嵌套.伸长.异构.
-
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
本文实例讲述了Python面向对象程序设计之静态方法.类方法.属性方法原理与用法.分享给大家供大家参考,具体如下: 前言:认为方法与函数同意义,由于这里使用method,所以称为方法 静态方法: 使用@staticmethod来定义静态方法. 静态方法:类和实例都可以调用的方法,实际上跟类没什么关系了,对于这种不太相关的就使用静态方法[用实例和类调用没有区别] class Dog(object): def __init__(self,name): self.name=name def talk(
-
python学习之可迭代对象、迭代器、生成器
Iterable – 可迭代对象 能够逐一返回其成员项的对象. 可迭代对象的例子包括所有序列类型 (例如 list, str 和 tuple) 以及某些非序列类型例如 dict, 文件对象以及定义了__iter__()方法或是实现了序列语义的__getitem__() 方法的任意自定义类对象. 可迭代对象可用于 for 循环以及许多其他需要一个序列的地方(zip().map() -).当一个可迭代对象作为参数传给内置函数 iter() 时,它会返回该对象的迭代器.这种迭代器适用于对值集合的一次性
-
通过淘宝数据爬虫学习python scrapy requests与response对象
目录 Request 对象 Response 对象 ItemPipeline LinkExtractor 提取链接 爬虫编码时间 Request 对象 在 scrapy 中 Request 对象代表着请求,即向服务器发送数据,该对象的构造函数原型如下所示: def __init__(self, url, callback=None, method='GET', headers=None, body=None, cookies=None, meta=None, encoding='utf-8',
随机推荐
- jquery事件绑定解绑机制源码解析
- IE网页js语法错误2行字符1、FF中正常的解决方法
- Windows XP SP2安装设置全攻略
- Java 8 动态类型语言Lambda表达式实现原理解析
- 深入理解Java注解的使用方法
- MyBatis关于二级缓存问题
- asp.net TripleDES加密、解密算法
- vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
- node.js中的fs.symlinkSync方法使用说明
- HTML中使背景图片自适应浏览器大小实例详解
- C++基础入门教程(八):函数指针
- sqlserver 存储过程动态参数调用实现代码
- linux入门教程 第2章 安装指南
- Java基础教程之实现接口
- 实例讲解Android应用中自定义组合控件的方法
- 毕业论文-文论话语“模糊好”质疑
- Python虚拟环境项目实例
- LaravelS通过Swoole加速Laravel/Lumen详解
- vue之浏览器存储方法封装实例
- Linux系统下快速配置HugePages的完整步骤