Python基于property实现类的特性操作示例
作者:grey_csdn 发布时间:2022-08-07 11:02:08
标签:Python,property,类的特性
本文实例讲述了Python基于property实现类的特性操作。分享给大家供大家参考,具体如下:
Python中的特性是一个函数,但是在使用的形式上看起来更像是一个属性。针对一个对象来说,与属性相比,特性是不能够随意添加的。而对象的属性,默认情况下添加是十分简单的。
下面通过代码展示如何使用property实现特性:
# -*- coding:utf-8 -*-
#!python3
class MyClass:
def __init__(self,val1,val2):
self.val1 = val1
self.val2 = val2
@property
def Sum(self):
return self.val1 + self.val2
obj =MyClass(34,45)
print(obj.Sum)
程序的执行结果如下:
79
从上面的结果来看,特性在调用的时候跟属性是差不多的。如果通过类似方法的调用则会报错,下面修改代码如下:
# -*- coding:utf-8 -*-
#!python3
class MyClass:
def __init__(self,val1,val2):
self.val1 = val1
self.val2 = val2
@property
def Sum(self):
return self.val1 + self.val2
obj =MyClass(34,45)
print(obj.Sum)
# wrong way tocall the Sum property
print(obj.Sum())
程序执行结果如下:
79
Traceback (most recent call last):
File "C:\py3\jb51PyDemo\src\Demo\propertyDemo.py", line 13, in <module>
print(obj.Sum())
TypeError: 'int' object is not callable
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/grey_csdn/article/details/77435689


猜你喜欢
- 本文实例讲述了python实现根据图标提取分类应用程序,分享给大家供大家参考。具体方法如下:#!/usr/bin/python # -*-
- javascript基础教程算术运算符运算符运算符说明示例示例说明+加法x+y如果x为整数2,y为整数5, x+y等于7如果x为字符串&qu
- 前言SQL Server使用TRY...CATCH 结构实现TSQL语句的错误处理,TRY命令负责监控语句执行的情况,如果有TSQL语句发生
- 于断电或非正常关机而导致MySQL(和PHP搭配之最佳组合)数据库出现错误是非常常见的问题。有两种方法,一种方法使用MySQL(和PHP搭配
- 这样虽没有对功能有什么影响,可是体验总不怎么好,那如何解决这个问题了,网上有很多文章都有说过在被目标页加载后设置window.status
- 柱状图分类QBarSeries:竖向柱状图QPercentBarSeries:竖向百分比柱状图QStackedBarSeries:竖向堆叠柱
- 前言众所周知,appsetting.json 配置文件是.Net 的重大革新之心,抛开了以前繁杂的xml文件,使用了更简洁易懂的json方式
- 这篇文章主要介绍了python yield和Generator函数用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参
- MMClassification是一个基于PyTorch的开源图像分类工具箱,是OpenMMLab项目的一部分,源码传送门,最新发布版本为v
- 铃铃铃…… 上课了老师在黑板写着这么一个标题 《Python: 你所不知道的星号 * 用法》同学A: 呃,星号不就
- 本文实例讲述了Python设计模式之简单工厂模式。分享给大家供大家参考,具体如下:简单工厂模式(Simple Factory Pattern
- 一、人脸图像特征提取方法https://www.jb51.net/article/219446.htm二、对笑脸数据集genki4k进行训练
- 以用户为中心的设计、用户体验,这两个词现在在互联网上几乎随处可见,除了设计师外,很多的用户也都在说这两个词,于是我们经常会听到诸如“这里用户
- 启动mysql server 失败,查看/var/log/mysqld.err080329 16:01:29 [ERROR] Can'
- 一、 [::-1]import numpy as npimport numpy as npx = np.arange(1, 6)print(
- 1.为什么要跨平台编程?双平台编程或多平台编程,只是为提供更好开发更兼容的解决方案的一种手段,编程时服务于产品和客户的,也是因地制宜。先安装
- 一、官方文档介绍官网nn.Conv2d:对由多个输入平面组成的输入信号进行二维卷积二、torch.nn.Conv2d()函数详解参数详解to
- Tensorflow是目前最流行的深度学习框架,我们可以用它来搭建自己的卷积神经网络并训练自己的分类器,本文介绍怎样使用Tensorflow
- 一、色彩空间的转换代码如下:#色彩空间转换import cv2 as cvdef color_space_demo(img):
- 可以把多个页面相同的部分提取出来,放在一个母板里,这些页面只需要继承这个母板就好了通常会在母板中定义页面专用的 CSS 块和 JS 块,方便