欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3.6簡(jiǎn)單反射操作示例

 更新時(shí)間:2018年06月14日 10:52:36   作者:Tyran_U  
這篇文章主要介紹了Python3.6簡(jiǎn)單反射操作,結(jié)合實(shí)例形式分析了Python3反射的概念、原理、相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Python3.6簡(jiǎn)單反射操作。分享給大家供大家參考,具體如下:

# -*- coding:utf-8 -*-
#!python3
# -----------------------
# __Author : tyran
# __Date : 17-11-13
# -----------------------
class Base:
  def __init__(self):
    self.name = 'aaa'
    self.age = 18
  def show(self):
    print(self.age)
# 通過(guò)getattr()找到對(duì)象的成員
base = Base()
v = getattr(base, 'name')
print(v) # aaa
func1 = getattr(base, 'show')
func1() # 18
# 通過(guò)hasattr()查找成員是否存在
print(hasattr(base, 'name')) # True
print(hasattr(base, 'name1')) # False
# 通過(guò)setattr()給對(duì)象添加成員
setattr(base, 'k1', 'v1')
print(base.k1)
delattr(base, 'k1') # v1
# print(base.k1) 報(bào)錯(cuò)AttributeError: 'Base' object has no attribute 'k1'
# -------------------------------------------------------------------------
# Class也是一個(gè)對(duì)象
class ClassBase:
  sex = 'male'
  def __init__(self):
    self.name = 'aaa'
    self.age = 11
  @staticmethod
  def show():
    print('I am static')
  @classmethod
  def c_method(cls):
    print(cls.sex)
sex_value = getattr(ClassBase, 'sex')
print(sex_value)
s_func = getattr(ClassBase, 'show')
s_func()
c_func = getattr(ClassBase, 'c_method')
c_func()
# 這些都沒(méi)問(wèn)題
setattr(ClassBase, 'has_girlfriend', True) # 添加靜態(tài)成員
print(ClassBase.has_girlfriend) # True
# ---------------同理,模塊也是對(duì)象-------------
# 我新建了一個(gè)模塊s1.py,我把內(nèi)容復(fù)制下來(lái)
# class S1:
#   def __init__(self):
#     self.name = 'aaa'
#     self.age = 22
#
#   def show(self):
#     print(self.name)
#     print(self.age)
#
#
# def func1():
#   print('page1')
#
#
# def func2():
#   print('page2')
# 一個(gè)類,兩函數(shù)
import s1
s1_class = getattr(s1, 'S1', None)
if s1_class is not None:
  c1 = s1_class()
  c1.show()
  # aaa
  # 22
getattr(s1, 'func1')() # page1
f2 = 'func2'
if hasattr(s1, f2):
  getattr(s1, 'func2')() # page2

注釋中說(shuō)明的s1.py如下:

# -*- coding:utf-8 -*-
#!python3
class S1:
  def __init__(self):
    self.name = 'aaa'
    self.age = 22
  def show(self):
    print(self.name)
    print(self.age)
def func1():
  print('page1')
def func2():
  print('page2')
# 一個(gè)類,兩函數(shù)

程序運(yùn)行結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python打開文件、文件讀寫操作、with方式、文件常用函數(shù)實(shí)例分析

    Python打開文件、文件讀寫操作、with方式、文件常用函數(shù)實(shí)例分析

    這篇文章主要介紹了Python打開文件、文件讀寫操作、with方式、文件常用函數(shù),結(jié)合實(shí)例形式分析了Python文件的打開、讀寫及常用文件操作函數(shù)使用技巧,需要的朋友可以參考下
    2020-01-01
  • pytorch中的 .view()函數(shù)的用法介紹

    pytorch中的 .view()函數(shù)的用法介紹

    這篇文章主要介紹了pytorch中的 .view()函數(shù)的用法,主要介紹兩種方法手動(dòng)調(diào)整size和自動(dòng)調(diào)整size,下面具體方法分析需要的小伙伴可以參考一下
    2022-03-03
  • django中F表達(dá)式和Q函數(shù)應(yīng)用與原理詳解

    django中F表達(dá)式和Q函數(shù)應(yīng)用與原理詳解

    F對(duì)象查詢與Q對(duì)象查詢,剛看到大家一定會(huì)感到很陌生,其實(shí)它們也是 Django 提供的查詢方法,而且非常的簡(jiǎn)單的高效,下面這篇文章主要給大家介紹了關(guān)于django中F表達(dá)式和Q函數(shù)應(yīng)用與原理的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • python的concat等多種用法詳解

    python的concat等多種用法詳解

    這篇文章主要為大家詳細(xì)介紹了python的concat等多種用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Sanic框架安裝與簡(jiǎn)單入門示例

    Sanic框架安裝與簡(jiǎn)單入門示例

    這篇文章主要介紹了Sanic框架安裝與簡(jiǎn)單用法,結(jié)合實(shí)例形式簡(jiǎn)單分析了Sanic框架的概念、原理、pip命令安裝以及使用方法,需要的朋友可以參考下
    2018-07-07
  • python正向最大匹配分詞和逆向最大匹配分詞的實(shí)例

    python正向最大匹配分詞和逆向最大匹配分詞的實(shí)例

    今天小編就為大家分享一篇python正向最大匹配分詞和逆向最大匹配分詞的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Python部署web開發(fā)程序的幾種方法

    Python部署web開發(fā)程序的幾種方法

    本篇文章主要介紹了Python部署web開發(fā)程序的幾種方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-05-05
  • Python使用PyYAML庫(kù)讀寫yaml文件的方法

    Python使用PyYAML庫(kù)讀寫yaml文件的方法

    這篇文章主要介紹了Python使用PyYAML庫(kù)讀寫yaml文件的方法,包括YAML基本概念介紹及YAML語(yǔ)法知識(shí),結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Python輸出9*9乘法表的方法

    Python輸出9*9乘法表的方法

    這篇文章主要介紹了Python輸出9*9乘法表的方法,提供了兩種常用方法供大家參考借鑒,需要的朋友可以參考下
    2015-05-05
  • Python超詳細(xì)分步解析隨機(jī)漫步

    Python超詳細(xì)分步解析隨機(jī)漫步

    隨機(jī)游走(random walk)也稱隨機(jī)漫步,隨機(jī)行走等是指基于過(guò)去的表現(xiàn),無(wú)法預(yù)測(cè)將來(lái)的發(fā)展步驟和方向。核心是指任何無(wú)規(guī)則行走者所帶的守恒量都各自對(duì)應(yīng)著一個(gè)擴(kuò)散運(yùn)輸定律,接近布朗運(yùn)動(dòng),現(xiàn)階段主要應(yīng)用于互聯(lián)網(wǎng)鏈接分析及金融股票市場(chǎng)中
    2022-03-03

最新評(píng)論