java实列方法和静态方法_静态方法,类方法和实例方法
1.反射类的属性和方法 2.反射对象的属性和方法 3.反射模块中的属性和方法
反射方法
描述
hasattr(obj,name)
判断是否包含名称为name的属性,返回的是布尔值
getattr(obj,name)
获取名称为name的属性的具体数据
setattr(obj,name) 较少
给名称为name的属性设置value值
delattr(obj,name) 较少
删除名称为name的属性
getattr()
class Teacher():
dic = {"学生信息":"show_student","老师信息":"show_teacher"}
def init(self,name,age):
self.name = name
self.age = age
@classmethod
def func(cls):
print("--func--")
def show_student(self):
print("--show student--")
def show_teacher(self):
print("--show teacher")
反射类中的属性和方法
获取Teacher类中的dic
print(getattr(Teacher,"dic"))
获取Teacher类中的func
ret = getattr(Teacher,"func")
ret()
反射对象中的属性和方法
teacher = Teacher("陈老师",21)
获取name属性
print(getattr(teacher,"name")) #teacher.name
获取所有的属性
print(getattr(teacher,"dict"))
ret = getattr(teacher,"show_student")
print(ret)
ret()
反射模块中的属性和方法
import test1
反射模块中的属性
print(getattr(test1,"name"))
反射模块中 的方法
func1 = getattr(test1,"func1")
func1()
func2 = getattr(test1,"func2")
func2(666)
反射模块中的类
Person = getattr(test1,"Person")
per = Person()
per.study()
# hasattr() 检测对象是否有某个成员,返回布尔
class Teacher():
dic = {"学生信息":"show_student","老师信息":"show_teacher"}
def init(self,name,age):
self.name = name
self.age = age
@classmethod
def func(cls):
print("--func--")
def show_student(self):
print("--show student--")
def show_teacher(self):
print("--show teacher")
判断有没有dic
b = hasattr(Teacher,"dic")
if b:
ret = getattr(Teacher,"dic")
print(ret)
else:
print("没有此属性")
练习:根据用户输入的key来调用对应的方法
如:输入“学生信息”,调用 show_student
key = input("请输入学生信息或老师信息:") #学生信息
"--show student--"
#setattr 给对象或者类添加属性
class Person:
pass
给Person添加静态属性age
setattr(Person,"age",18)
print(Person.age)
delattr 删除对象或者类中的成员
per = Person()
setattr(per,"name","黄志")
print(per.name)
delattr(Person,"age")
print(Person.age)
java实列方法和静态方法_静态方法,类方法和实例方法相关推荐
- java实训设想及建议_大学java实训总结.doc
大学java实训总结 大学java实训总结 篇一:Java实训心得 心得体会 此次只实训了短短的三周.虽说时间很短,但其中的每一天都使我收获很大.受益匪浅,它不但极大地加深了我对一些理论知识的理解,不 ...
- java电梯属性方法有哪些_电梯控制系统(Java课程设计)内容
电梯控制系统(Java课程设计)内容 A1 系统描述1. 功能描述本电梯系统用来控制一台运行于一个具有 N 层的大楼电梯,它具有上升.下降.开门.关门.载客的基本功能.大楼的每一层都有:(1) 两个指 ...
- java空类型方法无参_类的无参方法
一.JavaDoc注释 语法: /** *@author Flc */ @author 标明开发该类模块的作者 @version 标明该类模块的版本 @see 参考转向,也就是相关主题 @param ...
- java代码优化的方法和准则_编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议16~20)...
建议16:易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP,Ruby,Groovy.Javascript等,这些入侵者都有一个共同特征:全是同一类语言-----脚本语言,它 ...
- java实训西游记人物实现_学习练习 java编写西游记人物类
package com.hanqi; public class XiYouJiRenWu { double height; String weapon; String name; void prine ...
- java 抽象方法 虚方法的区别_声明抽象类(纯虚方法)会大幅增加二进制大小
以下是故事:我正在使用AC6 Toolpack为Linux中的ARM Cortex-M0处理器开发C软件 . 在我使用Keil(在windows中)(拥有自己的工具链)之前,我已经迁移到GNU-too ...
- 大一java实训报告1500字_从800字小作文,到3000字小论文你用了多久? | 校媒FM
前不久,大四的学长.学姐刚结束被老师们不断"为难"的开题答辩,不少当事人直呼"太难了!". 一个熟悉的学姐是这样在朋友圈吐槽的:"老师提问得也太犀利了 ...
- 大一java实训报告1500字_社会实践报告1500字
社会实践报告1500字 篇一 时光飞逝,不知不觉的就走完了大一的路程.又是一个长期的暑假,在这个暑假之前我已经早早的为自己做好了假期安排,因为有两个多月的假期,我计划放假之后,用一个月的时间去找一份工 ...
- JAVA中console方法怎么用_使用console对javaScirpt进行全面调试-全面分析console用法
console.log(object[, object, ...]) 在控制台输出一条消息.如果有多个参数,输出时会用空格隔开这些参数. 第一个参数可以是一个包含格式化占位符输出的字符串,例如: co ...
最新文章
- MYSQL 取随机记录的方法
- JS实现一行内多列DIV同高
- Python for else 的使用(银行账号的登录)
- C指针原理(35)-Ncurses-文本终端的图形
- Kubernetes的三种集群外部访问方式及使用场景说明:NodePort、LoadBalancer和Ingress
- flink代码出现no instance(s) of type variable(s) T0, T1, T2 exist
- 程序员生存定律--使人生永动的势能
- 设置163的Centos6更新源
- Java讲课笔记15:抽象类、接口和多态
- python写入Excel时,将路径或链接以超链接的方式写入
- jsp循环输出表格_使用 ale.js 制作一个小而美的表格编辑器(1)
- SparkSQL入门
- 【OOM】GC overhead limit exceeded
- 一个计算机高手的成长zz
- UILabel显示html文本
- 微软CEO鲍尔默称洽购雅虎已结束
- GridView, DataGrid 中,DataFormatString语法汇总
- CMFCMenuBar 的另类动态修改
- matlab海洋数值模拟,海洋数值模拟课程教学大纲.PDF
- Android修行手册 - TextureView和SurfaceView的属性方法以及示例
热门文章
- 股票突然出现断崖式下跌是什么原因?
- Null value appeared in non-nullable field java.lang.NullPointerException
- 电力系统中随机矩阵理论的应用(Matlab实现)
- 数据采集_化妆品生产许可信息管理系统服务平台
- 11款最受欢迎的亚马逊卖家工具
- Chap3_数据预处理
- 2021年起重机司机(限桥式起重机)考试题及起重机司机(限桥式起重机)考试试卷
- 2021年三季度中国调味发酵品行业A股上市企业营收排行榜:上市企业归属母公司净利润均处于盈利状态(附热榜TOP14详单)
- 万物互联!盘点国内八大物联网平台
- 2019最新Android常用开源库总结(持续更新,建议收藏)