• python学习的一些感悟


    首先声明,这里用到的库是在coursera上学习时,老师建立的一个库

    #timer
    
    
    import simplegui
    import random
    
    # global state
    
    message = "Python is Fun!"
    position = [50, 50]
    width = 500
    height = 500
    interval = 2000
    
    #Handler for text box
    def update(text):
        global message
        message = text
        
    #Handler for timer
    def tick():
        x = random.randrange(0, width)
        y = random.randrange(0, height)
        position[0] = x
        position[1] = y
        
    #Handler for draw on canvas
    def draw(canvas):
        canvas.draw_text(message, position, 36, "Yellow")
        
    #Create a frame
    frame = simplegui.create_frame("Home", width, height)
    
    #Register event handler
    text = frame.add_input("Message", update, 150)
    frame.set_draw_handler(draw)
    timer = simplegui.create_timer(interval, tick)
    
    
    frame.start()
    timer.start()
    

    首先看一下上述代码,是一个简单是屏幕保护程序

    由上述代码引发的一些想法:

    python编程现在我觉的它的最大的一个特点,就是把
    事件分为好多个不相干的子事件
    例如这个程序:
    一个简单的屏幕保护程序:
    把想要显示的message设为一个事件
    把定时的改变位置设置一个事件
    如果可以的话还可以把时间间隔设置为一个事件
    最后综合起来画图设置为一个事件
    适当的分解程序

    重点是互不相干!!

    另外在上课时也发现一个问题,虽然找到了答案,老师也给出了简答

    问题:为什么改变了变量position,而不用声明
    global?
    答:因为它只是依次的改变了position的元素,而
    没有改变position本身

  • 相关阅读:
    洛谷 P1291 [SHOI2002]百事世界杯之旅 解题报告
    洛谷 P1338 末日的传说 解题报告
    洛谷 P3952 时间复杂度 解题报告
    vector-erase
    STL之--插入迭代器(back_inserter,inserter,front_inserter的区别
    STL之--插入迭代器(back_inserter,inserter,front_inserter的区别
    vector-end
    vector-end
    vector-empty
    vector-empty
  • 原文地址:https://www.cnblogs.com/xujie-nm/p/4015379.html
Copyright © 2020-2023  润新知