设为首页 收藏本站
查看: 1421|回复: 0

[经验分享] python4-反射_类

[复制链接]

尚未签到

发表于 2018-8-16 07:57:57 | 显示全部楼层 |阅读模式
  反射:
  有:demo.py    里面有 函数Foo()
  str1 = 'demo'
  str2 = 'Foo'
  module = __import__(str1)
  func = getattr(module,str2)
  实例:通常适用于url
  代码目录结构为: backend包 下面又account.py模块 里面又login函数
  data = raw_input('请输入地址:') #account/login
  array = data.split('/')
  userspance = __import__('backend.'+array[0])
  model = getattr(userspance,array[0])
  func = getattr(model,arry[1])
  func()
  面向对象:
  类:
  class People(object):
  name='name'                              这是属于类的变量,类直接可以访问。
  dict={}                               字典是所有实例共享一份数据,共有
  def __init__(self,name,age,job):   初始化函数(构造函数), 定义参数.这里的变量是私有的
  self.name=name                       加self是变成实例变量,其他函数也能调用
  self.age=age
  self.job=job
  self.__name=name          私有变量,外部不能访问
  def walk(self):                              都需要加self(self指的是实例本身)
  print "i am walking..."
  self.__breath()                         内部可以调用
  def talk(self):
  print "talking with sb...",self.name
  def __breate(self):                        私有方法外部不能访问,对象不能访问
  pass
  p1=People('dengminhui','10','enginner')          实例化,传入参数
  p1.walk()
  p1.talk()
  p1.__breath       不能调用
  强行调用私有变量  p1.__People.__name
  类的继承:
  class SchoolMember(object):
  def __init__(self,name,age,sex):
  self.name=name
  self.age=age
  selef.sex=sex
  def func(self):
  pass
  继承
  class Student(SchoolMember):
  def __init__(self,name,age,sex,grade):
  SchoolMember.__init__(self,name,age,sex)      这里是继承父类的变量
  self.grade=grade                              重写构造函数后,这里是添加的变量
  def func(self):
  SchoolMember.tell(self)                       函数重写
  添加code
  多继承
  class School(object):
  def __init__(self,name,tel,addr):
  self.tel=tel
  self.addr=addr
  self.stu_list=[]
  self.tech_list=[]
  class Student(SchoolMember,School):
  静态方法:
  class MyClass(object):
  age = 22
  def __init__(self):
  self.name = "a"
  def sayhi(self):
  print "---sayhi 1"
  @staticmethod              #静态方法 跟类没什么关系,不需要实例化即可调用,类的工具包
  def sayhi2():             不需要加self
  print "---sayhi 2",self.name,self.age-----------> self对象不会传进来,所以都不能访问调用
  @classmethod               不需要实例化即可调用,不能访问实例数据。。。。实例化也可以调用属性
  def sayh3(self):
  print "---sayhi 3"  sself.name self.age       不能访问self.name,只能访问类属性
  @property                  把一个静态方法变成静态属性
  def sayh4(self):
  print "----sayhi4"
  return 'test'
  调用:
  MyClass.syahi2()
  m=MyClass()
  m.sayh4              ------> 结果会是 test
  print m.__dict__   __dict__方法会把对象的所有属性全部打印出来。
  新式类和经典类:

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-552402-1-1.html 上篇帖子: python3_05.文件操作那些事 下篇帖子: Python中的get请求
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表