python_day8 面向对象常用 补充

__str__ 作用
本来 打印 类对象是 打印的内存地址
但是在类中 增加 __str__ 参数 以后
再打印这个 类对象 就是显示 __str__中的 return

__del__作用
当 实例化的对象 在内存中 被释放的时候执行

item操作
通过 set get del 操作 item
最终目的是将 类里面的 变量 像 字典一样操作
当这样执行时,会触发不同的item

class A:
def __init__(self,name):
self.name=name
def __getitem__(self, item):
print(‘get‘)
def __setitem__(self, key, value):
print(‘set‘)
def __delitem__(self, key):
print(‘del‘)
JG=A(‘la‘)
JG[‘name‘]=666
JG[‘name‘]
del JG[‘name‘]

最终目的是将 类里面的 变量 像 字典一样操作

class A:
def __init__(self,name):
self.name=name
def __getitem__(self, item):
print(self.name)
def __setitem__(self, key, value):
self.name=value
def __delitem__(self, key):
del self.name
JG=A(‘la‘)
JG[‘name‘]=666
JG[‘name‘]
del JG[‘name‘]

JG[‘name‘]

时间: 2024-08-03 01:18:44

python_day8 面向对象常用 补充的相关文章

第9篇-JAVA面向对象-常用类Ⅴ

第9篇-JAVA面向对象-常用类Ⅴ 每篇一句 :巨轮寻深水而航行 初学心得: 没有胆大的猜测就没有伟大的发现 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-13| JAVA面向对象 Ⅴ] 1.JAVA Scanner类 java.util.Scanner 是 Java5 的新特征,读者可以通过 Scanner 类来获取用户的输入 创建 Scanner 对象的基本语法格式: Scanner s = new Scanner(System.in); 使用 next 方法代码: 1

第八章 面向对象实例补充

面向对象的特征: 封装:就算对象内部的数据结构改变了,只要公开给外部的方法名.功能没有改变,使用者就照常使用即可,比如我们去调用Time类的方法. 多态:Object类.String类和Float类的各个对象调用to_s的方法,得到的结果是不一样的. 多态的思考方法----鸭子模型 "能像鸭子那样走路,能像鸭子一样啼叫的,那一定是鸭子",注重对象的行为(走路.啼叫都像鸭子),那么不管是不是真的鸭子都把它当作鸭子.举例如下: fetch_and_downcase只要求(能以ary[ind

面向对象常用理论总结

1.面向对象 面向对象(Object Oriented)是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象.类.继承.封装.多态等基本概念来进行程序设计.从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式. 2.对象 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务组成. 类的实例化可生成对象,一个对象的生命周期包括三个阶段:生成.使用

Python 面向对象的补充

isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 1 class Foo(object): 2 pass 3 4 obj = Foo() 5 6 isinstance(obj, Foo) issubclass(sub, super)检查sub类是否是 super 类的派生类 1 class Foo(object): 2 pass 3 4 class Bar(Foo): 5 pass 6

python 面向对象&常用模块(二)

1.面向对象 1.1 异常处理(异常.断言.异常类型.抛出异常.Python异常捕捉) 异常处理 name = "aa" try: # 这一段是要执行的主体 print(name) # except Exception as msg: # 如果没有正常执行,就执行下面的这一段.Exception 是错误类型. except : # 如果没有正常执行,就执行下面的这一段.Exception 是错误类型(有好多类型,可以百度查下,错误类型 ,尽量写的准确些). print("na

面向对象之补充

1 组合补充 <1>类或对象可以做字典的key <2>对象中到底有什么 class Foo(object): # # def __init__(self,age): # self.age = age # # def display(self): # print(self.age) # # data_list = [Foo(8),Foo(9)] # for item in data_list: # print(item.age,item.display()) #8 8 None 9

python学习笔记-Day08--(面向对象)--补充

类还有两个方法,一个是判断一个对象是否是某个类的实例,另外一个方法是判断一个类是否是另外一个类的子类. isinstance(obj,cls)检查obj是否是类cls的对象返回结果为布尔值 issubclass(sub,supper)检查sub是否是supper的派生类返回结果为布尔值 注意:如果一个类C的基类B继承自某个类A,那么类C也是类A的的派生类 class A:            pass class B(A):            pass class C(B):       

面向对象常用代码

类定义:class关键字 访问控制修饰符:(public|protected|private) 类的实例化:关键字new 访问属性:对象变量->属性名(属性名不能有$符号) 调用方法:对象变量->方法名()(这里的小括号不能省略) $this关键字 PHP会自动的调用:__construct(); 析构方法:__destruct(); 删除一个对象:unset(对象变量); 对象的克隆:新对象 = clone 已有的对象:__clone方法 instanceof运算符: 对象变量  insta

面向对象知识点补充

1.object object是所有数据类型的祖先.   (集合里边可以放object类型即集合里边可以放任意类型) 2.is   as 即类型转换运算符(类型)对象这种方法不推荐 is   判断某个对象或者变量是否为什么类型(比如o  is random,这就是判断o是否为随机数类型,返回值是bool型) as 类型转换,如果某个对象能转换成某个类型,那么它会进行转换如果无法转换成目标类型,那么它会返回一个null,不会抛出异常(random  r=o as random:if(r !=nul