<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      反射

      python面向對象中的反射: 通過字符串的形式操作對象相關屬性.python中的一切都是對象(都可以使用反射)

       

        1.getattr(對象,'一個字符串') : 根據字符串的形式去某個對象中獲取對象的成員

          - 獲取類中的屬性

      class Foo(object):
          def __init__(self,name):
              self.name  = name
          def func(self):
              print(666)
      
      obj = Foo('張三')
      
      # 獲取實例變量
      v = getattr(obj,'name')
      print(v)  # 得到結果:  張三
      
      #獲取類中的方法
      getattr(obj,'func')()  # 得到結果:  666 

          - 獲取當前py文件中的屬性

      import sys
      
      def func():
          print(666)
      
      name = '李四'
      
      getattr(sys.modules['__main__'],'func')()   # 執行fanc函數,得到結果:  666
      
      ret = getattr(sys.modules['__main__']),'name')
      print(ret)  # 得到結果:  李四

          - 引用模塊中的任意變量

      # demo.py 文件中的屬性:
      def func():
           print('in func')
      
      name = '王二麻子'
      
      class User(object):
          def  base(self):
              print('in base')
      obj = User()
      
      
      
      # 運行腳本的文件
      import demo
      
      getattr(a,'func')()    #  in func
      
      getattr(a,name)    # 得到結果: 王二麻子
      
      getattr(a.User,'base')()    #得到結果:  in base
      
      print(getattr(a,'obj')    # # 得到結果: 內存地址

       

         2. hasattr(對象,'一個字符串') : 根據字符串的形式去某個對象中判斷是否有改成員 

      class A:
          job = 'IT'
          def __init__(self):
              self.name = 'alex'
              self.age = 83
          def func(self):
              print('in func')
      
      obj = A()
      
      print(hasattr(obj,'sex'))    # False
      print(hasattr(obj,'func'))   # True
      
      if hasattr(obj,'func'):
          if callable(getattr(obj,'func')):     # 判斷這個函數是否可被調用
              getattr(obj,'func')()    # in func

       

      常用操作:

      class User:
          lis = [('登入','login'),
                 ('注冊','register'),
                 ('刪除文件','remove'),
                 ('復制文件','copy')]
          def login(self):
              print('in login')
          def register(self):
              print('in register')
          def remove(self):
              print('in remove')
          def copy(self):
              print('in copy')
      
      obj = User()
      for index,item in enumerate(obj.lis,1):
          print(index,item[0])
      while True: num = input('請選擇要操作的序號:') if num.isdecimal() and 0 < int(num) <= len(obj.lis): if hasattr(obj,obj.lis[int(num)-1][1]): getattr(obj,obj.lis[int(num)-1][1])() else: print('輸入有誤')

       

      運行結果:

      1 登入
      2 注冊
      3 刪除文件
      4 復制文件
      請選擇要操作的序號:1
      in login
      請選擇要操作的序號:2
      in register
      請選擇要操作的序號:3
      in remove
      請選擇要操作的序號:4
      in copy

         3. setattr(對象,'變量','值') : 根據字符串的形式去某個對像中設置某個成員

      class Foo:
          pass
      obj = Foo()
      
      obj.k1 = 999
      
      setattr(obj,'k1',123)    # 設置實例變量中的 k1 = 123   
      
             
      print(obj.k1)     # 打印結果:  123

       

         4. delattr(對象,'變量') :  根據字符串的形式去某個對象中刪除成員

      class Foo:
          pass
      
      obj = Foo()
      
      obj.k1 = 999
      print(obj.k1)    # 打印結果; 999 
      
      delattr(obj,'k1')
      print(obj.k1)    # k1 的變量已經刪除,運行會報錯

       

       

       

       

       

       

       

       

        

       

      posted @ 2019-06-07 18:59  未來&你好  閱讀(248)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日日猛噜噜狠狠扒开双腿小说| 手机看片日本在线观看视频| 肉大捧一进一出免费视频| 国产精品日韩av在线播放| 50路熟女| 中文字幕人妻丝袜美腿乱| 亚洲一区二区三区啪啪| 久久午夜无码鲁丝片直播午夜精品 | 免费观看在线A级毛片| 久久综合给合久久狠狠狠88| 日韩有码国产精品一区| 欧美牲交a欧美牲交aⅴ图片| 亚洲精品国产av成人网| 亚洲一区av无码少妇电影| 免费中文熟妇在线影片| 97精品人妻系列无码人妻| 无码全黄毛片免费看| 日韩人妻系列无码专区| 国产福利精品一区二区 | 色综合中文综合网| 久久天天躁狠狠躁夜夜avapp| 高清自拍亚洲精品二区| 国产精品一码二码三码| 九九热这里只有精品在线| 夜夜躁狠狠躁日日躁| 色综合欧美亚洲国产| 中文字幕在线视频不卡一区二区| 熟女在线视频一区二区三区| 中文国产成人久久精品小说| 国产日韩精品欧美一区灰| 中文字幕日韩精品人妻| 麻豆亚洲精品一区二区| 亚洲成av人片在www鸭子| 松溪县| 日韩精品一区二区三区日韩| 国产精品麻豆欧美日韩ww| 人妻少妇| 无码日韩精品一区二区三区免费| 国产亚洲精品福利在线无卡一| 精品少妇av蜜臀av| 精品亚洲国产成人av|