美文网首页
反射基础认识

反射基础认识

作者: 幼姿沫 | 来源:发表于2020-11-26 18:52 被阅读0次

一 *  反射基础认识

1. 关键字必须有一个字符串  用类或者对象去操控方法属性


hasattr   判断对象中是否有这个变量或者方法

getattr    获取对象中的方法或者变量中的内存地址

setattr    为对象添加变量或者方法

delattr    删除对象中的变量但是不能删除方法

类class 属性 方法  实例化对象 

2.登陆注册认证前提是创建一个文件夹命名为反射即可


test.py

from 反射.opt import function

#设计方法登陆注册退出功能 字典用反射实现

"""

1.把功能放到列表中然后循环出来

2.如果选择哪一种功能就实现哪一种方法

根据序号来选择功能1.登录2.注册 3.退出

1.将不同的功能放到元组中,调用字符串的形式用反射 选取值来进行功能的选择

元组放到列表中然后一个一个循环出来因为列表中有顺序

枚举的特点是有序号默认从0开始和元组中要取得第一个值值从零开始

2.选择数字获得某种元素也就是小元组里面的功能也就是登陆注册退出函数

输入的数字是索引值减一(因为索引从1开始,但是默认索引从0开始所以用输入的数字减1)

用getattr操作方法

3.main方法中将A类进行实例化对象,用实例化对象进行调用

想要让函数执行加括号

4.禁止输入123如果输入其他会报错之后的解决方法

判断除了int类型用抛异常来解决

5.保证必须有另外一个文件的存在用判断语句

"""

#列表是有顺序的写功能 用索引取值在元组中获得功能反射得到第二个元素来取得字符串的形式来实现相应的功能

def main():

list=[("登录","login"),("注册","regist"),("退出","exit")]

#通过枚举功能来进行展示相应的元素序号和值

    for index,valuein enumerate(list,1):

#序号默认从0开始如果要从1开始+1 值是从第一个功能登录注册退出的索引为零

        print(index,value[0])

while True:

#try except抛异常事地数字在规定的范围内

            try:

#用户自定义 输入用户想要输入的数字来获得相应的功能

                num=int(input("please input number to get the function*"))

#用list里面的索引获得功能操作为了得到不同功能的不同操作在另外类中来定义函数

                str=list[num-1][1]

print(str)

#判断一下是否有该属性

                if hasattr(function,str):

#将类进行实例化之后进行反射 得到和功能一样的操作即可

                    obj=function()

getattr(obj,str)()

#判断一下程序中不是1 2 3的话是字符串或者超过3的话怎么解决

            except:

print("输入有误,请重新输入")

main()

opt.py

""

登录功能函数实现登录功能

注册功能函数实现注册功能

点击1实现登录函数功能

实例化之后用对象进行调用

"""

class function:

def login(self):

username=input("username")

password=input("password")

if username=="幼姿沫" and password=="123456":

print("登陆成功")

else:

print("登陆失败")

def regist(self):

user=input("user")

pwd=input("pwd")

if user=="幼姿沫" and pwd=="123456":

print("注册成功")

else:

print("注册失败")

相关文章

  • 反射基础认识

    一 * 反射基础认识 1. 关键字必须有一个字符串 用类或者对象去操控方法属性 hasattr 判断对象中是否有这...

  • java基础----反射的初步认识

    反射 0.得到class 1.构造方法 2.普通方法 3.参数 代码 try直接exception,这里是为了好演示。

  • 反射机制(认识反射)

    1.认识反射2.理解反射的作用3.利用反射来调用类的结构 在正常情况下,一定是先有类,再有对象。 所谓的"反"就是...

  • Java基础:反射

    反射注解动态代理相关阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 ...

  • Java基础之反射

    Java基础之反射 反射基本介绍 反射的使用通过反射调用属性和方法通过反射获取配置文件 反射基本介绍 Java反射...

  • java 反射进阶

    1.java反射基础 2.java反射进阶 上一节介绍了反射基础,本节介绍更深入的反射概念。 1.获取不到Clas...

  • 反射机制(一)认识反射

    一、引出反射机制 在引出反射机制之前我们先思考两个问题:问题一我们知道对象有编译类型和运行类型Object obj...

  • Java互联网公司-经典面试题附答案

    基础:Java 反射?反射有什么缺点?你是怎么理解反射的(为什么框架需要反射)?优点:反射具有解耦性,缺点:反射属...

  • Java基础之反射

    Java基础之—反射(非常重要)Java中反射机制详解Java进阶之reflection(反射机制)——反射概念与...

  • 反射基础

    反射 反射能在运行时获取任意一个类的所有属性和方法,前提是他能获取到类的Class对象

网友评论

      本文标题:反射基础认识

      本文链接:https://www.haomeiwen.com/subject/keohwhtx.html