怎么用python画心_python怎么画心Python的类实例属性访问规则
一般来说,在Python中,类实例属性的访问规则算是比较直观的。
但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此。
在这里,我们需要明白以下几个地方:
1.Python是一门动态语言,任何实体都可以动态地添加或删除属性。
2.一个类定义了一个作用域。
3.类实例也引入了一个作用域,这与相应类定义的作用域不同。
4.在类实例中查找属性的时候,首先在实例自己的作用域中查找,如果没有找到,则再在类定义的作用域中查找。
5.在对类实例属性进行赋值的时候,实际上会在类实例定义的作用域中添加一个属性(如果还不存在的话),并不会影响到相应类中定义的同名属性。
下面看一个例子,加深对上述几点的理解:
class A:
cls_i = 0
cls_j = {}
def __init__(self):
self.instance_i = 0
self.instance_j = {}
在这里,我们先定义类A的一个实例a,然后再看看类A的作用域和实例a的作用域中分别有什么:
>>> a = A()
>>> a.__dict__
{'instance_j': {}, 'instance_i': 0}
>>> A.__dict__
{'__init__': , '__module__': '__main__', 'cls_i': 0, 'cls_j': {}, '__doc__': None}
我们看到,a的作用域中有instance_i和instance_j,A的作用域中有cls_i和cls_j。
我们再来看看名字查找是如何发生的:
>>> a.cls_i
0
>>> a.instance_i
0
《python怎么画心Python的类实例属性访问规则》总结了关于python基础教程,对于我们来W WW.002pc .COM确实能学到不少知识。
在查找cls_i的时候,实例a的作用域中是没有它的,却在A的作用域中找到了它;在查找instance_i的时候,直接可在a的作用域中找到它。
如果我们企图通过实例a来修改cls_i的值,那会怎样呢:
>>> a.cls_i = 1
>>> a.__dict__
{'instance_j': {}, 'cls_i': 1, 'instance_i': 0}
>>> A.__dict__
{'__init__': , '__module__': '__main__', 'cls_i': 0, 'cls_j': {}, '__doc__': None}
我们可以看到,a的作用域中多了一个cls_i属性,其值为1;同时,我们也注意到A作用域中的cls_i属性的值仍然为0;在这里,我们其实是增加了一个实例属性,并没有修改到类属性。
如果我们通过实例a操纵cls_j中的数据(注意不是cls_j本身),又会怎么样呢:
>>> a.cls_j['a'] = 'a'
>>> a.__dict__
{'instance_j': {}, 'cls_i': 1, 'instance_i': 0}
>>> A.__dict__
{'__init__': , '__module__': '__main__', 'cls_i': 0, 'cls_j': {'a': 'a'}, '__doc__': None}
我们可以看到a的作用域没有发生什么变化,但是A的作用域发生了一些变化,cls_j中的数据发生了变化。
实例的作用域发生变化,并不会影响到该类的其它实例,但是类的作用域发生变化,则会影响到该类的所有实例,包括在这之前创建的实例:
>>> A.cls_k = 0
>>> i.cls_k
0
更多:python怎么画心Python的类实例属性访问规则
https://www.002pc.comhttps://www.002pc.com/python/1558.html
你可能感兴趣的Python,实例,属性,访问,规则
linux远程主机Nginx的Rewrite规则与实例
Nginx的Rewrite规则与实例 Nginx Rewrite 规则相关指令相关指令有if,rewrite,set,return,break等,其中最关键的就是rewrite.一个简单的Nginx Rewrite
js圆形链模式JavaScript通过prototype给对象定义属性用法实例
本文实例讲述了JavaScript通过prototype给对象定义属性的用法。分享给大家供大家参考。具体分析如下:
下面的JS代码定义了movie对象。在使用对象的过程中又通过prototype给对
js正则表达式匹配任意字符串如何提高数据访问速度
hasOwnProperty()仅检索实例不检索原型,in即检索实例,又检索原型002pc.com认为此文章对《如何提高数据访问速度》说的很在理。
成员嵌套越深,访问速度越慢,只在必要的情况下使用
asp.net urlrewriter 路径.net使用自定义类属性实例
一般来说,在.net中可以使用Type.GetCustomAttributes获取类上的自定义属性,可以使用PropertyInfo.GetCustomAttributes获取属性信息上的自定义属性。
php如何访问apiphp中mkdir函数用法实例分析
本文实例分析了php中mkdir函数用法。分享给大家供大家参考。
php 模拟访问页面php实现的双向队列类实例
本文实例讲述了php实现的双向队列类及其用法,对于PHP数据结构与算法的学习有不错的参考价值。分享给大家供大家参考。具体分析如下:
(deque,全名double-ended queue)是一种具有队
肇庆php招聘php中cookie实现二级域名可访问操作的方法
本文实例讲述了php中cookie实现二级域名可访问操作的方法。分享给大家供大家参考。具体方法如下:
cookie在一些应用中很常用,假设我有一个多级域名要求可以同时访问主域名绑
访问局域网mysqlCentOS 6.5最小化编译安装mysql 5.5.35配置多实例
CentOS 6.5最小化编译安装mysql 5.5.35配置多实例1、关闭防火墙[root@mysql ~]# service iptables stop
iptables: Setting chains
菜刀phpPHP基于cookie与session统计网站访问量并输出显示的方法
本文实例讲述了PHP基于cookie与session统计网站访问量并输出显示的方法。分享给大家供大家参考,具体如下:
<?
0踩
赏
0 赞
怎么用python画心_python怎么画心Python的类实例属性访问规则相关推荐
- Python的类实例属性访问规则
一般来说,在Python中,类实例属性的访问规则算是比较直观的. 但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此. 在这里,我们需要明白以下几个地方: 1.Pytho ...
- python解析json_python3 解析 json 字符串并返回支持属性访问的对象
目的 将任意一个 json 字符串,转换为 python 的 object 对象,转换后支持使用属性访问. 方法 json 解析命令行使用的 argparse,可以任意规定命令行关键字,并能使用属性访 ...
- python创建实例属性_Python学习笔记__6.5章 实例属性和类属性
# 这是学习廖雪峰老师python教程的学习笔记 1.概览 1.1.实例绑定属性 class Student(object): def __init__(self, name): self.name ...
- 海绵宝宝python代码_Python那些事——python还能这么玩?帅呆了
当我们还是孩子的时候,总是迷恋漫画书,当翻到我们的英雄们开始行动时会激动不已. 大家总是争论谁是最厉害的超级英雄,认真地讨论他们的家族历史,或者梦想自己拯救高谭市.我们很多人用自己的童年创造了这样的难 ...
- 你要偷偷学Python,然后惊艳所有人(类的属性和方法)
一.类的结构 1.1:术语--实例 1.使用面向对象开发,第一步是设计类 2.使用类名()创建对象,创建对象的动作有两步 1)在内存中为对象分配空间2)调用初始化方法__init__为对象初始化 3. ...
- ipad运行python爬虫_Python爬虫之UserAgent的使用实例
问题: 在Python爬虫的过程中经常要模拟UserAgent, 因此自动生成UserAgent十分有用, 最近看到一个Python库(fake-useragent),可以随机生成各种UserAgen ...
- 中文分词算法python代码_python实现中文分词FMM算法实例
本文实例讲述了python实现中文分词FMM算法.分享给大家供大家参考.具体分析如下: FMM算法的最简单思想是使用贪心算法向前找n个,如果这n个组成的词在词典中出现,就ok,如果没有出现,那么找n- ...
- python注释_Python头条:python基础知识了解___注释、变量、Debug
注释 作用 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性. 分类与语法 单行注释 只注释一行内容,语法如下: # 注释内容 多行注释 可以注释多行内 ...
- pcap python 生成_python+pcap+dpkt 抓包小实例
1 #!/usr/bin/env python 2 #-*- coding: utf-8 -*- 3 4 """网络数据包捕获与分析程序""" ...
最新文章
- java监听器模式使用场景_常用监听器及其应用场景
- 插值法补齐缺失数据_关于数据清洗的常见方式
- 京东购物在微信等场景下的算法应用实践
- PHP笔记-获取客户端IP及平台及浏览器
- 微信开源组件WCDB漫谈及Demo
- COACH与得物App达成官方合作 未来计划提供专供款商品
- 如何Vue项目中加载字体的最佳做法
- 最简单的文件加密工具(完全免费)
- matlab阵列方向性系数,阵列天线方向图的MATLAB实现.pdf
- JAVA版数字转人民币大写-四位数分隔法
- linux-raid (二) faulty 和 multipath
- Perl 中关于 LWP::UserAgent等模块用法
- 【python爬虫学习】cookie模拟登陆
- 12.3 文本查询程序
- 国际标准组织 ISO 3166 的国家或地区代码
- NNDL 实验五 前馈神经网络(2)自动梯度计算 优化问题
- s3 java sdk_s3javasdk文档.pdf
- 单字节和双字节的转换
- 牛逼哄哄的富士康老板郭台铭低头了,夏普将向三星供应液晶面板
- mt6765芯片原理图,mt6765芯片芯片资料