python - 包装 和 授权
包装
# 包装(二次加工标准类型)
# 继承 + 派生 的方式实现 定制功能 # 示例:
#
class list_customization(list):
#重新定制append方法,判断添加的数据类型是否是str类型.
def append(self, object):
# print(type(object))
if type(object) is str:
super().append(object)
else:
print("添加类型错误...") a = "XXXXXXXXXXXX"
b = list_customization(a)
c = 2
b.append(c)
print(b)
授权(其实也是一种包装)
#授权
#授权也是一种包装
#授权的过程,即是所有更新的功能,都是由新类的某部分来处理
#已存在的功能就授权给对象的默认属性 # 示例:
class Open_authorization():
def __init__(self,file_path,mode):
self.file = open(file_path,mode) def __getattr__(self, item):
#利用getattr()来调用对象处理
return getattr(self.file,item) a = Open_authorization("info.log",'r')
print(a.read())
python - 包装 和 授权的更多相关文章
- 利用Python+163邮箱授权码发送带附件的邮件
背景 前段时间写了个自动爬虫的脚本,定时在阿里云服务器上执行,会从某个网站上爬取链接保存到txt文本中,但是脚本不够完善,我需要爬虫完毕之后通过邮件把附件给我发送过来,之前写过一个<利用Pyth ...
- 使用 python 编写一个授权登录验证的模块
使用 python 编写一个授权登录验证的模块 我们编写的思路: 1.登录的逻辑:如果用户名和密码正确,就返回 token . 2.生成 token 的逻辑,根据用户名,随机数,当前时间 + 2 小时 ...
- python的包装和授权
包装:python为大家提供了标准数据类型,以及丰富的内置方法,其实在很多场景下我们都需要基于标准数据类型来定制我们自己的数据类型,新增/改写方法,这就用到了我们刚学的继承/派生知识(其他的标准类型均 ...
- python学习-69 包装和授权
包装 1.二次加工标准类型(包装) class List(list): def append(self, a_objcet): if type(a_objcet) is str: super().ap ...
- Python练习-基于授权方式包装list之与根儿哥必有一战
# 编辑者:闫龙 # 基于授权定制自己的列表类型,要求定制的自己的__init__方法, # 定制自己的append:只能向列表加入字符串类型的值 # 定制显示列表中间那个值的属性(提示:proper ...
- 第三十五篇 类的内置属性(attr属性),包装和授权,__getattr__
双下划线开头的attr方法,都是类内置的方法. 一. 如果没有在类里定义这三个方法,调用的时候就调用类内置的默认的方法 class Too: pass # 类没有定义这三个属性,就用系统默认的方法 t ...
- 利用Python+163邮箱授权码发送邮件
背景 前段时间写了个自动打卡的脚本,但是脚本不够完善,我需要知道,打卡到底成没成功,因此,我想到了用Python执行完代码之后,再执行一段发送邮件的代码.需求开始明确了,就开始分析和写代码实现吧. 分 ...
- Python包装器
def func(): print("func body") def f1(arg): print("f1:",arg) def wrapper(b): pri ...
- android 自动化测试 ---python wrapper(python 包装)
关于有道云笔记复制的东西不能直接copy到博客园,可以选择使用txt文件做个媒介 1.appium 2.monkeyrunner 3.uiautomator2 前面两种种方式都要加载androidsd ...
随机推荐
- [ctsc2018] 混合果汁 【可持久化线段树】【二分答案】
题目分析 首先考虑到最小值最大,二分答案.假设答案为k,显然这满足单调性.如果某个k使得这个情况下选不出.那么比k大的一定也选不出,所以二分答案. 接着我们可以贪心,当我们确认了k以后,一定会优先选费 ...
- hdu 5919 Sequence II (可持久化线段树)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5919 大致题意: 给你一个长度为n的序列,q个询问,每次询问是给你两个数x,y,经过与上一次的答案进行运算 ...
- git报错failed to push some refs to 'git@github.com:Markprint/github.git'
这个不知名小错误用了我两天的空余时间mmp 就是这里报的错 输入 git push origin master -f 解释为: 远程分支上存在本地分支中不存在的提交,往往是多人协作开发过程中遇到 ...
- 【BZOJ1876】[SDOI2009]SuperGCD(数论,高精度)
[BZOJ1876][SDOI2009]SuperGCD(数论,高精度) 题面 BZOJ 洛谷 题解 那些说数论只会\(gcd\)的人呢?我现在连\(gcd\)都不会,谁来教教我啊? 显然\(gcd\ ...
- [luogu2280][bzoj1218][HNOI2003]激光炸弹
题目描述 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(N<=10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置,每个目标都有 ...
- 上传大数据到SharePoint 2010
今天终于把近5G的数据上传到了SharePoint2010站点上,上传过程中发现几个要注意的问题: 1. 用360浏览器打开SP 2010站点,发现在workspace同步和windows explo ...
- android 同时打开两个sqlite database db
1,数据库类 package com.example.testdb; import android.content.Context; import android.database.SQLExcept ...
- /dev/null 2>&1 什么意思
在Unix中,标准输入设备 stdin是0, stdout 是1, stderr是 2. /dev/null 2>&1这样的写法意思是将标准输出和错误输出全部重定向到/dev/nu ...
- 「loj3058」「hnoi2019」白兔之舞
题意 有一个\((L+1)*n\) 的网格图,初始时白兔在\((0,X)\) , 每次可以向横坐标递增,纵坐标随意的位置移动,两个位置之间的路径条数只取决于纵坐标,用\(w(i,j)\) 表示,如果要 ...
- centos7配置本地yum源 使用安装镜像安装软件
1. 在cdrom挂载安装镜像.(物理机则插入光盘,虚拟机则在CD/DVD中选择iso镜像.如果虚拟机mount时提示找不到则在选择iso镜像上方勾选“已连接”和“启动时连接”,或者点击 虚拟机下方状 ...