import 方式导入模块
import tool.getsum.add
#导入模块,优先会从启动文件的当前目录开始寻找
#如果找到,就使用
#如果找不到,会在系统模块存放目录去
tool.getsum.add.add2num(2,5)
from…import
导入模块
from tool import add
add.add2num(3,9)
#import tool.add
#tool.add.add2num(3, 9)
导入模块中的标识符
情况一,指定标识符来导入
#from … import …
#from 什么什么模块 import 什么什么标识符
from getsum.add import add2num
add2num(3,7)
import 的标识符,指定了什么,才能用什么。 没有指定标识符不可用
情况二,导入模块中的全部标识符,通过*代表一切
from getsum.add import *
add2num(3,7)
print(name)
print(age)
这种导入方式,要注意名称的冲突
两者的比较
#from … import …
#from(从) 哪里 import(导入) 什么
#from getsum import add
#add.add2num(1,5)
#import getsum.add
#getsum.add.add2num(1,5)
#__name__if name == “main”:
重要
用途
模块作者测试模块本身功能的时候
把测试的代码
写在if的判断下面,例如
add.py
def add2num(n1, n2):
print(n1+n2)
name = “张三”
age = 18
if name == “main”:
print(‘add模块的测试数据。。。。’)
print(name, type(name))
add2num(100,200)
包
包是一个类似于文件夹的一个东西它里面存放多个模块(多个py文件)包是一个特别的文件夹,区别就是比普通文件夹多一个__init__.py
创建包的两种方式
什么是包,它的功能
包主要是一个收集模块的一个容器
我们会把多个功熊相近的模块,存放到一个包中
如何创建一个包
包的本质就是一个文件夹,比普通文件夹,它多一个__init__.py
第一种创建方式
直接新建文件夹,然后在文件夹下,创建一个py文件,命名为__init__.py
第二种创建方式直接通过pycharm创建,创建一个python package
让包中的模块可以被使用
需要在包里面的init文件中,对模块进行一个导入
注意点
导入的时候,要以init文件为起始目录
所以需要用 from . 这种方式
一般的情况
from . import 模块名
特殊的情况
解释器的版本手动设置或者修改python解释器
pygame模块
安装方式
01通过在线安装的方式
在pycharm中左下角有一个Terminal
可以查看有哪些安装好的模块与包
通过命令
pip list
如果我们需要安装pygame
使用命令
pip install pygame
02离线安装
对于anaconda来说
安装在
C:\Users\用户名\Anaconda3\Lib\site-packages
因此, 如果我们有了离线的包文件夹
可以直接把文件夹拷备到这个目录
如果当前使用的解释器是pycharm给我们生成的一个纯净的解释器
那么我们直接把pygame的文件夹,粘到 site-packages
体验pygame的游戏效果
在pycharm中的Terminal中
python -m pygame.examples.aliens
在命令提示符下也可以使用
前提条件就是
我们的项目用的是anaconda目录下的python解释器
函数的定义与调用
定义函数的时候,有默认值的形参
def func(name=“zs”, age=18):
print(name)
print(age)
func()
#有默认值的形参,我们在调用的时候是不用传参,不报错的
调用时,如果需要传参,有两种方式传
位置传参
def func(name=“zs”, age=18):
print(name)
print(age)
func(“李四”, 28)
指名传参(关键词传参)
def func(name=“zs”, age=18):
print(name)
print(age)
func(age=16, name=“ww”)
扩展出来的传参方式
位置传参与关键词传参,同时
def func(name=“zs”, age=18):
print(name)
print(age)
func(“zl”, age=88)
创造游戏屏幕对象
pygame.display.set_mode()
set_mode方法说明
set_mode(resolution=(0,0), flags=0, depth=0) -> Surface
作用 —— 创建游戏显示窗口
参数
resolution 指定屏幕的 宽 和 高,默认创建的窗口大小和屏幕大小一致
flags 参数指定屏幕的附加选项,例如是否全屏等等,默认不需要传递
depth 参数表示颜色的位数,默认自动匹配
返回值
暂时 可以理解为 游戏的屏幕,游戏的元素 都需要被绘制到 游戏的屏幕 上
注意:必须使用变量记录 set_mode 方法的返回结果!
因为:后续所有的图像绘制都基于这个返回结果
创建游戏主窗口
screen = pygame.display.set_mode((480, 700))
time模块
引入import time
有一个延迟功能,睡眠
time.sleep(秒数)
让游戏窗口不要秒退
使用time模块来延迟下一行代码的执行
while True:
pygame.display.set_mode((400,600))
time.sleep(10)
break
绘制图象三步曲
在游戏中,能够看到的 游戏元素 大多都是 图像
图像文件 初始是保存在磁盘上的,如果需要使用,第一步 就需要 被加载到内存
要在屏幕上 看到某一个图像的内容,需要按照三个步骤:
1.使用 pygame.image.load() 加载图像的数据2.使用 游戏屏幕 对象,调用 blit 方法 将图像绘制到指定位置
3.调用 pygame.display.update() 方法更新整个屏幕的显示
提示:要想在屏幕上看到绘制的结果,就一定要调用 pygame.display.update() 方法