美文网首页
飞机大战斗

飞机大战斗

作者: 姓高名旭升 | 来源:发表于2018-09-24 18:43 被阅读0次
    • 导入模块的三种方式

    import pygame
    from 模块名 import *(代表所有)
    from 模块名 import 模块里定义的函数名
    *号在同时调用两个模块的时候 里面有相同的函数时 后者会给前者覆盖掉

    • 在pygame这前安装了个pip3
    #安装pygame
    sudo pip3 install pygame
    #验证安装
    python3 -m pygame.examples.aliens
    
    
    • 创建的精灵组
    def __create_sprites(self):
        bg1=BackGroundSprite()
        bg2=BackGroundSprite(True)
        self.enemy_group=pygame.sprite.Group()#创建敌机精灵组
        self.bg_group=pygame.sprite.Group(bg1,bg2)
    
        self.hero=Hero()#英雄组
        self.hero_group=pygame.sprite.Group(self.hero)
    
    

    私有属性添加getter和setter方法

    class siyou(object):
    def __init__(self):
    self.__money = 0
    
    def getsiyou(self):
    return self.__money
    
    def setsiyou(self, value):
    if isinstance(value, int):
    self.__money = value
    else:
    print("error:不是整型数字")
    
    
    • 结果
    In [1]: from get_set import siyou
    
    In [2]:
    
    In [2]: a = siyou()
    
    In [3]:
    
    In [3]: a.money
    Out[3]: 0
    
    In [4]: a.money = 100
    
    In [5]: a.money
    Out[5]: 100
    
    In [6]: a.getsiyou()
    Out[6]: 100
    
    

    ==和is

    • is是比较两个应用是否指向了一个对象
    • ==是比较两个对象是否相等
    a=[1,2,3]
    b=a
    a==b
    True
    
    a is b
    True
    
    import copy
    c=copy.deepcopy(a)
    a==c
    True
    
    a is c
    False
    
    

    深拷贝和浅拷贝

    • 深拷贝

    深拷贝是对于一个对象所有层次的拷贝(递归)

    13012396-14828ff4a56c3d1a.png 13012396-768bfa54cad0c454.png
    • 浅拷贝

    浅拷贝是对一个对象的顶层拷贝
    通俗的理解就是:拷贝了引用,并没有拷贝内容

    相关文章

      网友评论

          本文标题:飞机大战斗

          本文链接:https://www.haomeiwen.com/subject/cxrhoftx.html