Python面向对象之类和对象属性的增删改查操作示例

本文实例讲述了Python面向对象之类和对象属性的增删改查操作。分享给大家供大家参考,具体如下:

一、类属性的操作

# -*- coding:utf-8 -*-
#! python2
class Chinese:
  country = 'China'
  def __init__(self,name):
    self.name = name
  def play_ball(self,ball):
    print('%s play %s' %(self.name,ball))
#查看属性
print(Chinese.country)
#修改属性
Chinese.country = 'Japan'
print(Chinese.country)
p1 = Chinese('alex')
print(p1.__dict__)
print(p1.country)
#增加属性
Chinese.dang = '我们'
print(Chinese.dang)
print(p1.dang)
#删除属性
del Chinese.dang
del Chinese.country
print(Chinese.__dict__)

运行结果:

China
Japan
{'name': 'alex'}
Japan
我们
我们
{'__module__': '__main__', 'play_ball': <function play_ball at 0x01AAB7B0>, '__doc__': None, '__init__': <function __init__ at 0x01AAB830>}

二、对象属性的操作

# -*- coding:utf-8 -*-
#! python2
class Chinese:
  country = 'China'
  def __init__(self,name):
    self.name = name
  def play_ball(self,ball):
    print('%s play %s' %(self.name,ball))
def test():
    print("对象方法的属性")
p1 = Chinese('alex')
print(p1.__dict__)
#查看属性
print(p1.name)
print(p1.play_ball)
#增加属性
p1.age = 18
print(p1.__dict__)
print(p1.age)
p1.test = test   #将外界的方法作为函数属性加入类中
print(p1.__dict__)
p1.test()
#修改属性
p1.age = 19
print(p1.__dict__)
print(p1.age)
#删除属性
del p1.age
print(p1.__dict__)

运行结果:

{'name': 'alex'}
alex
<bound method Chinese.play_ball of <__main__.Chinese instance at 0x01AE9DA0>>
{'age': 18, 'name': 'alex'}
18
{'test': <function test at 0x01AEB7F0>, 'age': 18, 'name': 'alex'}
对象方法的属性
{'test': <function test at 0x01AEB7F0>, 'age': 19, 'name': 'alex'}
19
{'test': <function test at 0x01AEB7F0>, 'name': 'alex'}

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

(0)

相关推荐

  • Python面向对象之类的定义与继承用法示例

    本文实例讲述了Python面向对象之类的定义与继承用法.分享给大家供大家参考,具体如下: 定义一个类 类中的方法同,类外方法,默认传self值 类的构造函数是  __init__ # -*- coding:utf-8 -*- class Hello: def __init__(self,name): self.name=name def sayHello(self): print ("Hello Python {0}".format(self.name)) h=Hello("

  • Python面向对象类编写细节分析【类,方法,继承,超类,接口等】

    本文实例讲述了Python面向对象类编写技术细节.分享给大家供大家参考,具体如下: 类代码编写细节 继续学习类.方法和继承. class语句 以下是class语句的一般形式: class <name>(superclass,...): data = value def method(self,...): self.member = value 在class语句内,任何赋值语句都会产生类属性,而且还有特殊名称方法重载运算符.例如,名为__init__的函数会在实例对象构造时调用(如果定义过的话)

  • Python面向对象之类的内置attr属性示例

    本文实例讲述了Python面向对象之类的内置attr属性.分享给大家供大家参考,具体如下: 这个比较简单. 代码示例: # -*- coding:utf-8 -*- #! python3 class Foo: x = 1; def __init__(self,y): self.y = y; def __getattr__(self,item): print('----->from getattr:你找的属性不存在') def __setattr__(self, key, value): prin

  • Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】

    本文深入分析了Python面向对象程序设计OOP.分享给大家供大家参考,具体如下: 下面是一个关于OOP的实例,模块文件为person.py # File person.py(start) class Person: def __init__(self, name, job=None, pay=0): self.name = name self.job = job self.pay = pay def last_name(self): return self.name.split()[-1] d

  • Python面向对象程序设计示例小结

    本文实例讲述了Python面向对象程序设计.分享给大家供大家参考,具体如下: 示例1: #encoding:utf-8 '''example 1 class test: def __init__(self,year,**arg): self.year = year self.args = arg def kaka(self): if isinstance(self.year,str): print 'input\'s year is a string! Error' elif isinstanc

  • Python面向对象之反射/自省机制实例分析

    本文实例讲述了Python面向对象之反射/自省机制.分享给大家供大家参考,具体如下: 反射:程序可以访问,检测和修改它本身状态或行为的一种能力(自省) 下面就介绍四种实现自省的函数,适用于类和对象 1. 判断object中有没有一个name字符串对应的属性或者方法 hasattr(object,name) 2. 获取object中name字符串对应的属性值或者方法地址,其中default参数的作用是,在找不到属性的时候,给予调用者的提示信息. getattr(object,name,defaul

  • Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】

    本文实例讲述了Python面向对象程序设计OOP.分享给大家供大家参考,具体如下: 类是Python所提供的最有用的的工具之一.合理使用时,类可以大量减少开发的时间.类也在流行的Python工具中使用,例如,tkinter GUI API. 为何使用类 与面向对象的Java一样,类是对现实世界的一种抽象. 从更具体的程序设计观点来看,类是Python的程序组成单元,就像函数和模块一样:类是封装逻辑和数据的另一种方式.实际上,类也定义新的命名空间,在很大程度上就像模块.但是类有三个重要的独到之处,

  • Python面向对象之接口、抽象类与多态详解

    本文实例讲述了Python面向对象之接口.抽象类与多态.分享给大家供大家参考,具体如下: 接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 接口主要是java等语言中的概念,python中并没有明确的限定 from abc import ABCMeta,abstractmethod class Pay

  • Python面向对象程序设计之继承与多继承用法分析

    本文实例讲述了Python面向对象程序设计之继承与多继承.分享给大家供大家参考,具体如下: 1. 继承 在C++和Java中,使用继承时,子类的构造函数会自动调用父类的构造函数,但在Python中,子类必须显式的在__init__()函数中再次调用父类中的__init__()函数.如下例: class Employee(object): def __init__(self, name, salary = 0): self.name = name self.salary = salary def

  • Python面向对象之静态属性、类方法与静态方法分析

    本文实例讲述了Python面向对象之静态属性.类方法与静态方法.分享给大家供大家参考,具体如下: 1. 静态属性:在函数前加@property,将函数逻辑"封装"成数据属性,外部直接调用函数名,如同调用属性一样.这个函数是可以调用对象和类的属性的. # -*- coding:utf-8 -*- class Room: def __init__(self,name,owner,width,length): self.name = name self.owner = owner self.

随机推荐