python 内置属性__setattr___Python3基础 __setattr__ 在属性被赋值的时候,新增提示功能...

Python : 3.7.0

OS : Ubuntu 18.04.1 LTS

IDE : PyCharm 2018.2.4

Conda : 4.5.11

typesetting : Markdown

code

"""

@Author : 行初心

@Date : 18-9-23

@Blog : www.cnblogs.com/xingchuxin

@Gitee : gitee.com/zhichengjiu

"""

class MyClass:

def __init__(self, work):

# 这里就在设置 私有属性work的值

self.work = work

def __setattr__(self, name, value):

print("你正在设置一个存在的属性的值")

return super().__setattr__(name, value)

def main():

MyClass(work="coding")

if __name__ == '__main__':

main()

result

/home/coder/anaconda3/envs/py37/bin/python /home/coder/PycharmProjects/oop/demo.py

你正在设置一个存在的属性的值

Process finished with exit code 0

resource

[文档] docs.python.org/3

[规范] www.python.org/dev/peps/pep-0008

[规范] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules

[源码] www.python.org/downloads/source

[ PEP ] www.python.org/dev/peps

[平台] www.cnblogs.com

[平台] gitee.com

Python具有开源、跨平台、解释型、交互式等特性,值得学习。

Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。

代码的书写要遵守规范,这样有助于沟通和理解。

每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。

Python3基础 __getattr__ 访问不存在的属性时,新增提示功能

Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

Python3基础 __delattr__ 在一个属性被删除时的行为

Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

python基础学习1-类属性访问

#!/usr/bin/env python # -*- coding:utf-8 -*- #====> __setattr__ 重写 设置类对象属性值时候调用的魔法方法 __getattr__( ...

python3--__getattr__和__setattr__捕捉属性的一个引用

__getattr__和__setattr__捕捉属性的一个引用 __getattr__方法是拦截属性点号运算.更确切地说,当通过对未定义(不存在)属性名称和实例进行点号运算时,就会用属性名称为字符串 ...

Python3基础(十二) 学习总结·附PDF

Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...

python-3.8.0 新特性之赋值表达式

[python-3.8.0 新特性之赋值表达式] 赋值表达式的语法是这样的“ name := expression ”,形式上看和赋值语句 “ = ” 差不多,就作用上来看也雷同.也就是说 “:=” ...

javascript对象属性的赋值解析

代码如下: function Animal(){} function Dog (age){ this.name = 'fuck you' ; this.age = age } var dog = ne ...

对用户控件(ascx)属性(property)赋值

对用户控件(ascx)属性(property)赋值 Insus.NET写此博文,是对用户控件(ASCX)的属性赋值经验与技巧分享.是这样子的,在做新闻站点时,一般都会有分很多类别. 在站点首页会显示最 ...

随机推荐

UIWebView获得内容的高-作出自适应高的UIWebView

http://blog.csdn.net/matrixhero/article/details/8443972 - (void)webViewDidFinishLoad:(UIWebView *)we ...

poi导出word

最近做了个poi导出word的功能 下面是代码: 一个可以参考的例子: package com.lzb.crm.web; import java.io.FileOutputStream; import ...

Oracle EBS-SQL (INV-3):检查仓库库存价值明细.sql

SELECT      a.subinventory_code                                 子库代码     ,d.DESCRIPTION              ...

自己动手写一个自动登录脚本gg

1.下载一个sshpass工具 2.安装sshpass,安装到tools文件夹 3.把tools文件夹的路径加入到/etc/bashrc vim   /etc/bashrc 最后一行  : expor ...

macox下编译snappy静态库

源代码地址:https://github.com/google/snappy 下载 git clone https://github.com/google/snappy 编译 进入snappy源代码文 ...

String、StringBuffer、StringBulider之间的联系和区别

首先,我们大概总体的解释一下这三者的区别和联系 String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间. StringBuf ...

vue组件路由守卫钩子函数(beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave)

用法:与mounted,created等同级并列. export default { data() { return { } }, methods: { go() { this.$router.pus ...

MVP模式在Android中的使用

转载了一篇博客.博客来自:http://www.liuling123.com/2015/12/mvp-pattern-android.html 觉得博主写的非常好 曾经在写项目的时候.没有过多考虑架构 ...

费马小定理与GCD&LCM

若 t = 1 ,  a ^ ( p - 2 ) 为 a 在取模 p 意义下的乘法逆元 通常用 inv 表示 证明: b * a =(三等)1(mod p) a ^ ( p - 2 ) * a =(三 ...

word2vec相关资源

word2vec官网:https://code.google.com/p/word2vec/ 利用中文数据跑Google开源项目word2vec:http://www.cnblogs.com/hebi ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值