美文网首页
day10-异常处理和pygame显示

day10-异常处理和pygame显示

作者: 旧时初_2e8d | 来源:发表于2018-07-28 00:41 被阅读0次

一、异常处理

1.模块

导入模块(自定义模块,第三方模块)
import 模块 ---->模块.内容
from 模块 import 内容 --->内容

被导入的模块中,除了在声明在if name == 'main':判断中以外的其他的全局变量

2.文件操作

打开文件--->操作文件 --->关闭文件
open()操作文件 close()
--->with open() as 文件:
操作文件

open(打开文件路径,打开方式,编码方式--->二进制文件不能去设置编码方式)
文本文件 ->'r'/'w','a'
二进制文件 ->'rb'/'wb
以读的形式打开文件,如果文件不存在会报错。以写的方式打开文件,如果文件不存在,会在指定的路径下创建该文件

read()---->读文件中所有的内容
write()---->将内容添加到文件中

3.json文件

json支持的数据类型和其对应的字面量

字符串(string) --->""
数字(number)---->1,1.2
布尔 ---->true/false
数组(array)--->[12,"abc",hhh]
字典(object)--->{key:value}
null --->null(空)

import json
json.load(json文件对象)--->读,读出来的数据类型和json对应的数据类型是一样的,可以直接读出字典、列表等数据
json.dump(要写入文件中的数据,json文件对象)-->写,python中的基本数据类型,都可以直接写到json文件中

4.异常捕获

try:
    需要捕获异常的代码(就是这段代码如果出现异常,不让程序崩溃)
except:
    只要try后面的代码出现异常都会执行这行代码,并且程序不会崩溃
try:
    需要捕获异常的代码块
except 异常类型:
    出现指定异常后才会执行

try--except执行过程:

  • 先执行try后面的代码块,只要出现异常就使用except去捕获,如果能捕获到,就直接进入except
  • 执行里面的代码块,执行完成后,再执行后面的其他语句。如果捕获不到,就直接报错。
  • 如果try后面的代码块中,没有异常。那么执行完代码块中的内容直接执行其他的语句

想要捕获多个异常:except(错误类型1,错误类型2....):

try:
    代码块1
except:
    代码块2
finally:
    代码块3
try:
    代码块1
except 错误类型1:
    代码块2
except 错误类型2:
    代码块3

代码块3是在代码块1中没有异常和代码块1中出现异常被捕获到都会执行

raise:抛出异常

总结:

1.异常捕获不是什么时候都要用的,只有在程序员清楚会出现异常,并且想要自己来处理异常,而不是让程序崩溃的情况才异常捕获
2.使用异常捕获的时候,不能让except直接捕获到所有的异常,而是捕获特定异常


    try:
        print([1,2,3][5])
        print({'a': 'b', 'b': 1}['c'])
    except (IndexError,KeyError):
        print('出现异常')

    print('=======')
出现异常
=======

二、pygame基础操作

import pygame

# pygame.display.set_mode((600,400))
if __name__ == '__main__':
   #1.初始化pygame
    pygame.init()

   #2.创建游戏窗口
   #set_mode((宽度,高度))
    screen = pygame.display.set_mode((600,400))

    #3.游戏循环
    while True:
        #检测事件
        for event in pygame.event.get():
            #检测窗口上的关闭按钮是否被点击
            if event.type == pygame.QUIT:
                #退出游戏
                print('关闭游戏被点击')
                exit()

三、显示文字

"""__author__zhangdong__"""
import pygame
if __name__ == '__main__':
    pygame.init()
    screen = pygame.display.set_mode((600,400))
    #设置窗口的北京颜色
    screen.fill((255,255,255))
    #1.创建字体对象
    """创建系统字体
    SysFont(name, size, bold=False, italic=False)
    name ->字体名
    size ->字体大小
    bold ->加粗
    italic->倾斜
    """
    # font = pygame.font.SysFont('宋体',50)
    """
    创建自定义字体
    Font(字体文件路径,字体大小)
    """
    font = pygame.font.Font('./test1/font/aa.ttf',40)

    #2.根据字体去创建显示对象(文字)(找内容)
    """
    render()
    text-->要显示的文字内容(str)
    antialias-->是否平滑
    color-->计算机三原色(红、绿、蓝),RGB颜色,值的范围都是0--255
            (255,0,0)->红色
            (0,255,0)->绿色
            (0,0,255)->蓝色
            (0,0,0)->黑色
            (255,255,255)->白色
              
            
    
    """
    surface = font.render('君不见黄河之水天上来',True,(0,255,0))
    #3.将内容添加到窗口上(画到纸上)
    """
    blit(需要显示的对象,显示位置)
    需要显示的对象-->Surface类型的数据
    显示位置-->坐标(x,y)
    """
    screen.blit(surface,(100,200))

    #4.将窗口上的内容展示出来(将画有文字的纸贴出来)
    pygame.display.flip()

    #游戏循环
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()

四、显示图片

"""__author__zhangdong__"""
import pygame
if __name__ == '__main__':
    pygame.init()
    screen = pygame.display.set_mode((600,400))
    screen.fill((255,255,255))


    #1.获取图片对象
    image = pygame.image.load('./images/photo.jpg')
    """
    a.获取图片大小
    get_size()
    """
    image_size = image.get_size()
    print(image_size)
    """
    b.形变
    transform:形变包含缩放,旋转和平移
    scale(缩放对象,新的大小)--->返回一个新的对象
    """
    # image = pygame.transform.scale(image,(50,50))
    """
    旋转
    ratate(旋转对象,旋转角度)-->角度是0-360的度数
    """
    image = pygame.transform.rotate(image,90)

    """
    rotozoom(Surface, angle, scale)
    rotozoom(旋转对象, 旋转角度, 缩放比例)
    """
    image = pygame.transform.rotozoom(image,-90,0.5)
    #2.将图片对象渲染到窗口上
    screen.blit(image,(0,0))
    #3,展示在屏幕上
    pygame.display.flip()




    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()

五、显示图形

"""__author__zhangdong__"""
import pygame
if __name__ == '__main__':
    pygame.init()
    screen = pygame.display.set_mode((600,400))
    screen.fill((255,255,255))

    """
    1.画直线
    line(Surface, color, start_pos, end_pos, width=1)
    line(画在哪个地方,线的颜色,线的起点,线的终点, 线的宽度)
    """
    pygame.draw.line(screen,(255,0,0),(0,0),(200,200),5)
    pygame.draw.line(screen, (255, 255, 0), (200, 200), (400, 400), 5)
    """
    lines(Surface, color, closed, pointlist, width=1)  
    lines(画线的位置, 颜色,线的关闭 , 点的列表, 线的宽度)
    """
    pygame.draw.lines(screen,(0,0,255),True,[(10,10),(200,50),(100,100),(100,150)])


    """
    画矩形
    rect(位置,颜色,(x,y,width,height))
    """
    # pygame.draw.rect(screen,(255,255,0),(200,200,200,200))
    """
    2.画曲线
    arc(Surface, color, Rect, start_angle, stop_angle, width=1)
    arc(Surface, color, , 起始角度, 结束角度, width=1)
    Rect-->(x,y,width,height)矩形
    """
    from math import pi
    pygame.draw.arc(screen,(100,100,100),(200,200,100,100),0,pi,2)

    """
    3.画圆
    circle(位置,颜色,圆心位置,半径,width = 0)
    """
    pygame.draw.circle(screen,(100,200,100),(300,200),100,0)
    """
    画椭圆
    ellipse(Surface,color,Rect,width=0)
    """
    pygame.draw.ellipse(screen,(100,150,200),[100,50,50,50],0)
    #将内容渲染在屏幕上
    pygame.display.flip()



    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()

六、动画原理

"""__author__zhangdong__"""
import pygame
if __name__ == '__main__':
    pygame.init()
    screen = pygame.display.set_mode((600,400))
    screen.fill((255,255,255))





    x = 0
    y = 0
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()
        x += 1
        y += 1
        screen.fill((255,255,255))
        pygame.draw.circle(screen,(255,0,0),(x,y),80)
        pygame.display.flip()

相关文章

  • day10-异常处理和pygame显示

    一、异常处理 1.模块 导入模块(自定义模块,第三方模块)import 模块 ---->模块.内容from 模块 ...

  • Day_10 异常与pygame

    异常捕获 pygame操作流程 pygame显示文字 pygame显示图片与图片操作 pygame基本显示

  • day10-异常与pygame

    01.异常 异常捕获 try--except执行过程:先执行try后面的代码块,只要出现异常就使用except去捕...

  • Day-18正则表达式2

    pygame游戏基本框架的创建 pygame中图片的显示 字体的显示 图形 Pygame Pygame有很多的模块...

  • 笔记更新进度提示

    各位, 为了更快更好的录制,Python-核心阶段课程(面向对象, Pygame, 异常处理等等); 会把更多的时...

  • python中pygame基础

    pygame 游戏的最小系统 在窗口显示图片 显示文字 显示图形 事件和动画

  • Day10 pygame

    Day10 01.pygame 02.显示文字 03.显示图片 04.显示图形 01.pygame 02.显示文字...

  • 2018-07-27 day10 Pygame模块

    Pygame模块 显示文字 显示图片 显示图形 动画

  • day10

    01 pygame 02 显示文字 03 显示图片 04 显示图形

  • pygame之小猪佩奇

    使用pygame画图 显示结果:

网友评论

      本文标题:day10-异常处理和pygame显示

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