# yeld關鍵字生成生成器
deftest
(n):
for i in
range(1
,n +1)
:yield i # yield 暫停函式執行,並返回yield後面表示式的值
# 得到生成器
res = test(10)
# print(res,type(res)) # 輸出:
# 生成器不能隨機訪問,使用next()函式獲取下乙個值,資料取完後,不能在呼叫next函式,否則會出現stopiteration
# print(next(res)) # 輸出1
# print(next(res)) # 輸出2
# print(next(res)) # 輸出3
# 生成器只能遍歷一次,下面不會有任何輸出
for x in res:
print
(x)# 可以這樣寫
for x in test(10)
:print
(x)# 不會有任何輸出,生成器:res = test(10) 只能遍歷一次
# for i in res:
# print(i)
# 高仿range()函式
defmy_range
(start,end,step =1)
: i =
0while
true
: value = start + step * i
i +=
1if value >= end:
return
yield value
# 生成器表示式
'''表示式 for var in 可迭代物件
'''gen =
(value for value in my_range(0,
100,2)
)print
(type
(gen)
)# 輸出:
for i in gen:
print
(i,end=
" ")
import collections.abc
# 判定可迭代物件
print
(isinstance
(,collections.iterable)
)# 將迭代物件轉換為迭代器
list1 =[2
,4,5
,6]# print(next(list1)) #typeerror: 'list' object is not an iterator
res =
iter
(list1)
# iter可以將可迭代物件轉換為迭代器
print
(next
(res)
)print
(next
(res)
)
標準庫
說明builtins
內建函式預設載入
math
數學庫random
生成隨機數
time
時間datetime
日期和時間
calendar
日曆hashlib
加密演算法
copy
拷貝functools
常用的工具
os作業系統介面
re字串正則匹配
syspython自身的執行環境
multiprocessing
多程序threading
多執行緒json
編碼和解碼json物件
logging
記錄日誌,除錯
'''
import語句模組順序:
python標準庫
第三方庫
自定義庫
'''# 使用import匯入標準庫模組 as 給模組起別名
import datetime as t # 匯入時間日期模組
print
(t.datetime.now())
# import一次匯入多個模組,不推薦
import datetime,math,os,sys
# 使用from...impor匯入具體模組名
from django.db import models
import sys # 匯入標準模組sys
print
(sys.path)
# 輸出具體目錄
'''['e:\\千鋒教育\\第16_模組\\**',
'e:\\千鋒教育',
'e:\\venv\\django2.0\\scripts\\python38.zip',
'e:\\venv\\django2.0\\dlls',
'e:\\venv\\django2.0\\lib',
'e:\\venv\\django2.0\\scripts',
'e:\\python3.8.1\\lib',
'e:\\python3.8.1\\dlls',
'e:\\venv\\django2.0',
'e:\\venv\\django2.0\\lib\\site-packages']
'''
4.3.1 臨時新增# 該方法新增的目錄旨在執行當前檔案的視窗中有效,視窗關閉後即失效
import sys
'e:/program/python/code/demo'
)# 臨時新增
4.3.2 增加.pt**件(推薦)
4.3.3 在pythonpath環境中新增
pinetree =
'我是一棵松樹'
# 定義全域性變數
deffun_christmastree()
:# 定義函式
''' 功能:測試乙個夢
:return: 無
'''pinetree =
'掛上彩燈,禮物...我變成一棵聖誕樹@^.^@ \n'
# 定於區域性變數
print
(pinetree)
#*****************判斷是否以主程式的形式執行******************************#
if __name__ ==
'__main__'
:print
('\n下雪了...\n'
)print
('**********====開始做夢***************='
) fun_christmastree(
)#呼叫函式
print
('***************夢醒了***************=='
) pinetree =
'我身上落滿雪花'
+ pinetree +
'-_-'
#為全域性變數賦值
print
(pinetree)
#輸出全域性變數
'''輸出:
下雪了...
**********====開始做夢***************=
掛上彩燈,禮物...我變成一棵聖誕樹@^.^@
***************夢醒了***************==
我身上落滿雪花我是一棵松樹-_-
'''
python 模組和包 python模組和包
一.模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 二.匯入模組 1.語法 import模組名from 模組名 import功能名from 模組名 import i...
Python 模組和包
包 模組的一種組織結構 乙個包由多個模組構成,即包含多個.py檔案 1匯入包的幾種形式 1 import module 將module模組中屬性列表的所有屬性匯入執行環境,使用時需要新增模組名稱,例如 module.func 2 from module import attrname,fucnnam...
python 模組和包
1.內建模組 本身就帶有的庫,就叫做python的內建的庫。模組 庫 一些常見的內建模組 os 和作業系統相關 os.path sys 和系統相關 sys.path re 正規表示式 2.第三方模組 非python本身自帶的庫,就是所謂的第三方的庫 3.模組的匯入 import as yy from...