码迷,mamicode.com
首页 > 编程语言 > 详细

06_排序_反射

时间:2016-06-13 19:04:03      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

排序算法

1.1 冒泡排序

原理分解:

位置       1      2     3      4       5
---------------------------------------------->
数据       111    22     78     33      55

两两比较,值大者向右换位

# 循环1
111与22比较,111大,与22互换位置
数据 22     111    78     33      55
111与78比较,111大,与78互换位置
数据 22     78     111    33      55
111与33比较,111大,与33互换位置
数据 22     78     33      111    55
111与55比较,111大,与55互换位置
数据 22     78     33      55    111

# 循环2
22与78比较,78大,位置不变
数据 22     78     33      55    111
78与33比较,78大,与33位置互换
数据 22     33     78      55    111
78与55比较,78大,与55位置互换
数据 22     33      55     78    111
111与78比较,111大,位置不变
数据22     33      55     78    111

# 循环 3
22与33比较,33大,位置不变
数据22     33      55     78    111
33与55比较,55大,位置不变
数据22     33      55     78    111
55与78比较,78大,位置不变
数据22     33      55     78    111

# 循环 4
22与33比较,33大,位置不变
数据22     33      55     78    111
33与55比较,55大,位置不变
数据22     33      55     78    111

# 循环 5
22与33比较,33大,位置不变
数据22     33      55     78    111

1.2 选择排序

2    16    12    18    8    -3

索引标志,减少互换位置

1.3 插入排序

2    16    12    18    8    -3
--------------------------------------------->
6   5   4   3   2   1

第2章 反射

实例:伪造Web框架的路由系统

反射:基于字符串的形式去对象中(模块)中操作其成员

       getattr,delattr,setattr,hasattr

扩展:导入模块

      import xxx
      from xxx import ooo
      obj = __import__("xxx")
      obj = __import__("xxx.oo.xxx", fromlist=True)

实例: 

# commons.py

def login():
    print(‘登录页面‘)

def logout():
    print(‘退出页面‘)

def home():
    print(‘主页面‘)

常规调用:

import commons

def run():
    inp = input(‘请输入要访问的url‘)
    if inp == ‘login‘:
        commons.login()
    elif inp == ‘logout‘:
        commons.logout()
    elif inp == ‘home‘:
        commons.home()
    else:
        print(‘404‘)

run()

反射调用:

# index.py

import commons

def run():
    inp = input(‘请输入要访问的url: ‘)
    # inp字符串类型“login”
    # 反射:利用字符串的形式去对象(默认)中操作(寻找/检查/删除/设置)成员
    if hasattr(commons, inp):# 判断是否存在
        # 存在,执行操作,打开页面在
        func = getattr(commons, inp)
        func()
    else:
        # 不存在,返回404
        print("404")

run()

  

 

06_排序_反射

标签:

原文地址:http://www.cnblogs.com/liangdalong/p/5581296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!