學python的第二十三天

2021-09-17 21:45:20 字數 3865 閱讀 8934

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 實現,在類外通過對字串的操作,能夠將類內同名的靜態變數,方法,如物件屬性是無法取到值的.也可以理解為 正常情況下如果可以拿到這個變數 那麼...