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__ifname== 「main」:重要
用途模組作者測試模組本身功能的時候
把測試的**
寫在if的判斷下面,例如
add.py
def add2num(n1, n2):
print(n1+n2)
name = 「張三」
age = 18
ifname== 「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模組
在pycharm中左下角有乙個terminal
可以檢視有哪些安裝好的模組與包
通過命令
pip list
如果我們需要安裝pygame
使用命令
pip install pygame
02離線安裝
對於anaconda來說
安裝在c:\users\使用者名稱\anaconda3\lib\site-packages
因此, 如果我們有了離線的包資料夾
可以直接把資料夾拷備到這個目錄
如果當前使用的直譯器是pycharm給我們生成的乙個純淨的直譯器
那麼我們直接把pygame的資料夾,粘到 site-packages
在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) -> su***ce
作用 —— 建立遊戲顯示視窗
引數
resolution 指定螢幕的 寬 和 高,預設建立的視窗大小和螢幕大小一致
flags 引數指定螢幕的附加選項,例如是否全屏等等,預設不需要傳遞
depth 引數表示顏色的位數,預設自動匹配
返回值
暫時 可以理解為 遊戲的螢幕,遊戲的元素 都需要被繪製到 遊戲的螢幕 上
注意:必須使用變數記錄 set_mode 方法的返回結果!
因為:後續所有的影象繪製都基於這個返回結果
screen = pygame.display.set_mode((480, 700))
引入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() 方法更新整個螢幕的顯示
第二十三天
1 使用 koa 搭建伺服器 const koa require koa 路由請求 context ctx 上下文 包含req和res ctx.body hello koa2 2 如何配置 koa 路由 const koa require koa 建立路由物件 const router requir...
冥想第二十三天
早上進行了快樂的事情,並跑了步,非常舒服,西四環有點堵,提前給朋友發了資訊讓他們避開。這也是為朋友多做的一些事情,感謝朋友。又來公園裡面轉了兩圈,聽著 你的答案 渾身舒服。輕鬆,保持輕鬆,進行一天的開心快樂的工作吧,上午工作到11 40左右感覺視線有些模糊,就是困了,然後告訴自己就是困了。平穩的度過...
Python 基礎第二十三天 反射
今日主要內容 1.物件導向高階特性 反射 2.內建函式和內建方法補充 1.什麼是反射 通過內建函式getattr hasattr setattr delattr 實現,在類外通過對字串的操作,能夠將類內同名的靜態變數,方法,如物件屬性是無法取到值的.也可以理解為 正常情況下如果可以拿到這個變數 那麼...