day25 Python】的更多相关文章

python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 四个可以实现自省的函数 下列方法适用于类和对象(一切皆对象,类本身也是一个对象) hasattr.getattr.setattr.delattr class BlackMedium: feature='Ugly' def __init__(self,name,addr): self.name=name self.addr=addr def sell_house(self): pr…
---恢复内容开始--- 通过一个列子认识父类和子类中,子类的如何实现对父类默认属性调用,同时拥有自己的属性,如何在子类中调用父类的方法,class Ainmal: country='afdas' def __init__(self,name,life_value,argg): self.name=name self.life_value=life_value self.argg=argg def eat(self): self.life_value+=10 def equipment(self…
通过一个列子认识父类和子类中,子类的如何实现对父类默认属性调用,同时拥有自己的属性,如何在子类中调用父类的方法,class Ainmal: country='afdas' def __init__(self,name,life_value,argg): self.name=name self.life_value=life_value self.argg=argg def eat(self): self.life_value+=10 def equipment(self): self.argg+…
#__getattr__只有在使用点调用属性且属性不存在的时候才会触发 class Foo: x=1 def __init__(self,y): self.y=y def __getattr__(self, item): print('----> from getattr:你找的属性不存在') f1=Foo('10') print(f1.y) print(f1.x) print(f1.iyiu) 结果: 10 1 ----> from getattr:你找的属性不存在 None…
一.day24复习 class school: x=1 #__init__初始化函数,用来帮类实例化一个具体的对象 def __init__(self,name,addr): #前面的Name是一个需要封到字典里面的一个key,后面的name是传过来的一个值 self.Name=name self.Addr=addr def tell_info(self): print('学校的详细信息是:name:%s addr:%s'%(self.Name,self.Addr)) #实例化的过程 s1=sc…
一.复习 反射 必须会 必须能看懂 必须知道在哪儿用 hasattr getattr setattr delattr内置方法 必须能看懂 能用尽量用__len__ len(obj)的结果依赖于obj.__len__()的结果,计算对象的长度__hash__ hash(obj)的结果依赖于obj.__hash__()的结果,计算对象的hash值__eq__ obj1 == obj2 的结果依赖于obj.__eq__()的结果,用来判断值相等__str__ str(obj) print(obj) '…
一.成员修饰符 共有成员 私有成员,__字段名,__方法 - 无法直接访问,只能间接访问 class Foo: def __init__(self,name,age): self.name = name self.__age = age #字段名前加双下划线就成私有成员了,外部无法直接访问 def show(self): #如果想访问的话需要定义一个公有成员,然后返回私有私有字段. return self.__age obj = Foo('alex',18) print(obj.name) pr…
封装: 隐藏对象的属性和实现细节,仅对外提供公共访问方式 好处:1.将变化隔离 2.便于使用 3.提高复用性 4.提高安全性 封装原则: 1.将不需要对外提供的内容隐藏起来 2.把属性都隐藏,提供公共方法对其访问 二.私有变量和私有方法 在Python中用双下划线开头的方式将属性隐藏起来(设置成私有的) 2.1 私有变量 #其实这仅仅这是一种变形操作 #类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式: class A: __N=0 #类的数据属性就应该是共享的,但是语法上是…
class Person: __key=123 def __init__(self,username,password): self.username=username self.__password=password def __get_pwd(self): return self.__password def login(self): self.__get_pwd() alex=Person("alex","alex3714") print(alex._Pers…
2019.4.30 S21 day25笔记总结 正则表达式 1. 正则表达式 re模块:re模块本身只是用来操作正则表达式的,和正则本身没关系. 正则表达式:是一种规则 匹配字符串的规则. 为什么要有正则表达式? 1.匹配字符串 - 一个人的电话号码 - 一个人的身份证号 - 一台机器的ip地址 2.表单验证 - 验证用户输入的信息是否准确 11位 全数字 1开头 第二个数3-9之内的数 - 银行卡号 3.爬虫 从网页源码中获取一些链接.重要数据 正则规则(元字符,量词): 第一条规则 : 本身…