• 类中的属性如何在类外部使用代码进行增删改查呢

  • 增加、改变:

    setattr内置函数以及 __setattr__魔法方法

    class A:

    aaa = '疏楼龙宿'

    a = A()

    setattr(a,'aaa','人间至帅')

    内置函数:三个参数,第一个是类名,第二个是属性名字符串,第三个是需要修改的内容,注意,需要先实例化

    a.__setattr__('aaa','人间至帅')

    魔法方法:类中的魔法方法调用,传入属性名字符串和需要修改的内容

    增加又是怎么样的呢?同样是这个方法,如果你输入的属性名,匹配不到,那么就会自动增加,比如:

    setattr(a,'bbb',123)

    这就会增加一个bbb = 123 的属性进去

  • 查找:

    hasattr内置函数和__hasattr__魔法方法

    getattr内置函数和__getattr__魔法方法

    class A:

    aaa = '疏楼龙宿'

    a = A()

    hasattr(a,'aaa')    返回bool值,告诉你有没有这个属性在里面

    getattr(a,'aaa')    返回属性的具体内容,获取属性,要注意的是,当获取的属性不存在,即会报错;同样,可以通过对对应的魔法方法修改,来让函数输出其他内容。

  • 删除:

    delattr内置函数和 __delattr__ 魔法方法

    或者 直接 del 这个实例化

    delattr(re , 'ccc')

    re .__delattr__('bbb')

    del re

    其涵义同上

  • 总结,类的方法就是***attr这个,查找就是哈西attr(hasattr)或者获取attr(getattr),增加/修改就是设置attr(setattr),删除就是删除attr(delattr),以及上述该实例化对应的魔法方法

python基础学习之类的属性 增删改查的更多相关文章

  1. JDBC基础学习(一)—JDBC的增删改查

    一.数据的持久化     持久化(persistence): 把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,数据持久化意味着将内存中的数据保存到硬盘上加以固化,而持久化的实现过程大多通过各 ...

  2. python基础之list列表的增删改查以及循环、嵌套

    Python的列表在JS中又叫做数组,是基础数据类型之一,以[]括起来,以逗号隔开,可以存放各种数据类型.嵌套的列表.对象.列表是有序的,即有索引值,可切片,方便取值.列表的操作和对字符串的操作是一样 ...

  3. python学习之-成员信息增删改查

    python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...

  4. Hadoop基础-HDFS的API实现增删改查

    Hadoop基础-HDFS的API实现增删改查 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客开发IDE使用的是Idea,如果没有安装Idea软件的可以去下载安装,如何安装 ...

  5. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  6. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  7. python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

    python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

  8. EF学习笔记-1 EF增删改查

    首次接触Entity FrameWork,就感觉非常棒.它节省了我们以前写SQL语句的过程,同时也让我们更加的理解面向对象的编程思想.最近学习了EF的增删改查的过程,下面给大家分享使用EF对增删改查时 ...

  9. python连接sqlserver和MySQL实现增删改查

    参考python核心编程 编写一个用户洗牌的脚本,根据用户输入,选择连接sqlserver或者MySQL,创建数据库.表,随机生成数据,并实现增删改查. 其中,为了兼容python2和python3, ...

随机推荐

  1. HEXO版本控制与持续集成

    主要解决了hexo发布文章的繁琐,以及本地资源丢失,更换电脑等情况的出现. 采用AppVeyor实现. 转自 https://formulahendry.github.io/2016/12/04/he ...

  2. java8按照lamda表达式去重一个list,根据list中的一个元素

    /** * 按照指定字段给list去重 * @param list * @return */ public static List<DataModel> niqueList(List< ...

  3. Linux错误记录贴

    add-apt-repository 不要写成 add-apt-repository service  不要写成 sevice 总之在打命令的时候要注意不要拼错单词 对于ls命令权限不够我们可以先su ...

  4. linux 基础正则表达式练习

    感谢鸟哥!!! 如果Linux能够直接连网络,使用以下命令还获取文件吧 wget http://linux.vbird.org/linux_basic/0330regularex/regular_ex ...

  5. Awesome Gatsby blog websites

    Awesome Gatsby blog websites very simple very clean i18n dark mode (css var) demos https://overreact ...

  6. CSS style color all in one

    CSS style color all in one https://developer.mozilla.org/en-US/docs/Web/CSS/color_value /* Hexadecim ...

  7. js swap array

    js swap array ES6 swap array 就地交换 no need let , const [ b, a, ] = [ a, b, ]; // ES6 swap const arr = ...

  8. HTML 5.3

    HTML 5.3 W3C Working Draft, 18 October 2018 https://www.w3.org/TR/html53/ refs https://www.w3.org/TR ...

  9. svn conflict & svn cleanup

    svn conflict & svn cleanup OK $ svn --help $ svn cleanup Tree Conflicts https://tortoisesvn.net/ ...

  10. vue & vue router & dynamic router

    vue & vue router & dynamic router https://router.vuejs.org/guide/essentials/dynamic-matching ...