python-类方法和属性

#类方法,属性和迭代器
#为了类是新型的,应该把语句__metaclass__=type放在模块的开始,
#或者子类化内建类object
class newtype(object):pass#构造方法:一个对象创建后,会立即调用构造方法,即__init__
class stu:def __init__(self):self.num=56student=stu()
print(student.num)class cls:def __init__(self,name):self.name=namecl=cls('TXY')
print(cl.name)#若一个类的构造方法被重写,那么就需要调用超类的构造方法,
#否则对象可能不会被正确的初始化#调用未绑定的超类构造方法:类名.__init__
class shape:def __init__(self):#在调用一个实例的方法时,self参数被自动绑定到实例:绑定方法self.area=100
class rect(shape):def __init__(self):shape.__init__(self)#实例不会绑定,参数可以自由提供self,:未绑定方法self.width=10self.height=10rec=rect()
print(rec.area)
print(rec.width)#使用super函数
class circle(shape):def __init__(self):super(circle,self).__init__()self.r=10
cir=circle()
print(cir.area)
print(cir.r)#成员访问:
'''
基本的序列和映射规则
__len__(self):返回集合中的项目数量
__getitem__(self,key):返回键对应的值
__setitem__(self,key,value):按一定的方式存储与key相关的value
__delitem__(self,key):对一部分对象使用del语句时被调用
'''#创建一个无穷序列
import math
def checkindex(key):if not isinstance(key,int):raise TypeErrorif key<0:raise IndexErrorclass AS:def __init__(self,start=0,step=1):self.start=startself.step=stepself.change={}def __getitem__(self,key):checkindex(key)try:return self.change[key]except KeyError:return self.start+key*self.stepdef __setitem__(self,key,value):checkindex(key)self.change[key]=value
s=AS(1,2)
print(s[4])#子类化列表,字典和字符串
'''
实现一个和内建列表行为相似的序列,list没有被重写的方法可以直接调用
'''
class MyList(list):def __init__(self,*args):super(MyList,self).__init__(*args)self.counter=0def __getitem__(self,index):self.count+=1return super(MyList,self).__getitem__(index)#属性:通过访问器定义的特性被称为属性
#创建属性的一种机制:property函数
__metaclass__=type
class Rect:def __init__(self):self.width=0self.height=0def getSize(self):return self.width,self.heightdef setSize(self,size):self.width,self.height=sizesize=property(getSize,setSize)#创建了属性sizerect=Rect()
rect.width=20
rect.height=30
print(rect.getSize())
rect.size=(100,100)
print(rect.getSize())

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

taro中子父传值

其实网上很多方法,我这只是一个简单的demo,废话不多说直接上代码 import Taro, { Component } from tarojs/taro import { View, Text } from tarojs/components import ./index.less//子组件 class Child extends Component{constructor(props) {super(props);this.state ({}…

如何计算感受野(Receptive Field)

深度神经网络中的感受野(Receptive Field) 本文转载自知乎&#xff1a;深度神经网络中的感受野(Receptive Field) - 蓝木达的文章 - 知乎 在机器视觉领域的深度神经网络中有一个概念叫做感受野&#xff0c;用来表示网络内部的不同位置的神经元对原图像的感受范围的大小。神经元…

物理学需要哲学,哲学需要物理学

来源&#xff1a;微信公众号“Philosophia 哲学社”撰文&#xff1a;卡洛罗威利&#xff08;Carlo Rovelli&#xff09;翻译&#xff1a;朱科夫「反对哲学」是一位当代伟大的物理学家——诺贝尔物理奖得主、基本粒子物理「标准模型」的奠基人斯蒂文温伯格&#xff08;Steven We…

[转帖]Oracle 11G RAC For Windows 2008 R2部署手册

Oracle 11G RAC For Windows 2008 R2部署手册&#xff08;亲测&#xff0c;成功实施多次&#xff09; https://www.cnblogs.com/yhfssp/p/7821593.html 总体规划 服务器规划 1、建议使用两台硬件配置一模一样的服务器来作为 RAC 环境的两个物理节点 2、服务器至少需要配置两块物…

生日快乐送女朋友的网页生日礼物模版

生日快乐送女朋友的网页生日礼物模版 Demo: http://sylvanding.online/happy-birthday-20221120 仓库&#xff1a;https://github.com/sylvanding/happy-birthday-20221120 参考 背景 https://codepen.io/arcs/pen/XKKYZW蛋糕 https://codepen.io/fixcl/pen/AaBNZB卡片 http…

美国独步世界的八大领域

来源&#xff1a;世界先进制造技术论坛一、美国诺贝尔奖获得者世界第一

Hinton的胶囊网络不太行?CVPR Oral论文:不比卷积网络更「强」

来源&#xff1a;机器学习研究组订阅在一篇 CVPR 2021 Oral 论文中&#xff0c;来自慕尼黑大学、微软亚研的研究者对胶囊网络和卷积网络进行了全面的对比。一系列实验表明&#xff0c;一些被认为对胶囊网络&#xff08;CapsNet&#xff09;至关重要的设计组件实际上会损害它的鲁…

数量庞大!中国成长型AI企业研究报告

来源&#xff1a;德勤Deloitte编辑&#xff1a;蒲蒲日前&#xff0c;德勤、英特尔和深圳人工智能行业协会联合发布《中国成长型AI企业研究报告》。该报告通过对数千家成长型AI企业数据的分析研究&#xff0c;几百家企业的走访以及和近百家优秀企业的深度合作&#xff0c;就中国…

除了芯片,我们还应关注这六大核心技术!

来源&#xff1a;疯狂机械控企业想发展自己还是需要掌握核心技术。除了芯片以外&#xff0c;还有哪些核心技术是我们重点关注的呢&#xff1f;01 软件定义机器▼设备智能化的体现就是典型的软件定义机器&#xff0c;包括机器轻松连接至互联网&#xff1b;将APP和分析结果嵌入机…

中国科学院院士褚君浩:第四次工业革命和智能时代

来源&#xff1a;信息化时代第一次工业革命起源于英国&#xff0c;以机械化为特征。第二次工业革命&#xff0c;以电气化为特征。第三次工业革命&#xff0c;以信息化为特征。现阶段&#xff0c;正值第四次工业革命&#xff0c;此次工业革命具有以下三个特征&#xff1a;信息科…

数据的描述统计量

一、本文简介   一组样本数据分布的数值特诊可以从三个方面进行描述&#xff1a; 1、数据的水平&#xff1a;也称为集中趋势或位置度量&#xff0c;反应全部数据的数值大小。 2、数据的差异&#xff1a;反应数据间的离散程度。 3、分布的形状&#xff1a;反应数据分布的偏度和…

Science:细胞如何测量自身的大小?答案是:DNA含量

图片显示的是一个茎尖分生组织(在中间)&#xff0c;在它的两侧出现了花蕾。绿色标记的细胞即将进入DNA复制。来源&#xff1a;生物通自从350多年前科学家在显微镜下发现细胞以来&#xff0c;他们就注意到每一种细胞都有其特有的大小。从微小的细菌到几英寸长的神经元&#xff0…

Windows 程序设计技巧

#include<iostream> #include<windows.h>using namespace std;int main() {int nSelect ::MessageBox(NULL,"windows 程序设计","测试",MB_OKCANCEL);if (nSelect IDOK){printf("OK!");}else{printf("Cancel!");}return…

兰德公司发布《美国5G时代》报告

来源&#xff1a;微信公众号科技咨询频道作者&#xff1a;谢黎、张志强&#xff0c;中国科学院成都文献情报中心兰德公司2021年5月24日发布《美国5G时代&#xff1a;在保障国家和人民的同时获得竞争优势》报告。报告援引美国国防创新委员会、联邦政府的观点&#xff0c;声称5G是…

40年诞生7位诺奖得主,美国贝尔实验室做对了什么?

贝尔实验室从1940年到1979年&#xff0c;共40年&#xff0c;历经4位总裁。这4位总裁在不同时期根据当时的形势&#xff0c;都提出了自己的管理方针&#xff0c;领导着该实验室近万名工作人员和几千名的科学家和工程师为世界和美国的科技发展作出了重要的贡献。来源&#xff1a;…

7-5 列车厢调度 (25 分)

7-5 列车厢调度 (25 分) 1 <--移动方向/ 3 \2 -->移动方向大家或许在某些数据结构教材上见到过“列车厢调度问题”&#xff08;当然没见过也不要紧&#xff09;。今天&#xff0c;我们就来实际操作一下列车厢的调度。对照上方的ASCII字符图&#xff0c…

64位系统下,一个32位的程序究竟可以申请到多少内存,4GB还是更多

前言&#xff1a; cpu的位是指一次性可处理的数据量是多少&#xff0c;1字节8位&#xff0c;32位处理器可以一次性处理4个字节的数据量&#xff0c;依次类推。32位操作系统针对的32位的CPU设计。64位操作系统针对的64位的CPU设计。操作系统只是硬件和应用软件中间的一个平台。我…

长二F发射神十二飞船圆满成功!三名航天员飞向空间站天和核心舱

来源&#xff1a;中国航天科技集团文&#xff1a;陈立 刘岩编辑&#xff1a;杨成 高一鸣校对&#xff1a;林佳昕监制&#xff1a;索阿娣6月17日9时22分长征二号F运载火箭点火起飞中国航天员聂海胜、刘伯明、汤洪波乘坐神舟十二号载人飞船在“神箭”长二F托举下从酒泉卫星发射中…

.net core中不支持GB2312编码的问题

今天在用core实现读取文件内容时出现了中文乱码的问题&#xff0c;特此记录下。代码如下&#xff1a;static void Main(string[] args){string path "F:\\1.txt";StreamReader sr new StreamReader(path, Encoding.Default);String line;while ((line sr.ReadLine…