日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

包和模块_月隐学python第13课

發布時間:2023/12/19 python 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 包和模块_月隐学python第13课 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

1.?成器

1.1 yield表達式?

2.迭代器?

2.1 迭代對象

2.2 迭代器

2.3 將迭代對象轉換為迭代器

3. 包

4.模塊

4.1 模塊搜索路徑

4.2 導?模塊


1.?成器


如果列表元素可以按照某種算法推算出來,那我們是否可以在循環的過程中不斷推算出后續的元素呢?這樣就不必創建完整的list,從?節省?量的空間。在Python中,這種?邊循環?邊計算的機制,稱為?成器(Generator)。

  • 延遲計算、惰性求值
  • 節省內存,?效
  • 缺點:?法隨機存取

?成器(Generator) ?成器會產??個對象,?不是?個列表

1.1 yield表達式

1.2?成器表達式
?成器【Generator】?成器會產??個可迭代對象,?不是?個列表。?成器表達式很類似列表?成式:
(表達式 for var in 可迭代對象)

2.迭代器

2.1 迭代對象


可以直接作?于for-in循環的數據類型都被稱為可迭代對象(Iterable),可以使?isinstance()判斷?個對象是否是可迭代對象,可以直接作?于for-in循環的數據類型:
數據結構: list、 set、 tuple、 dict、 string
generator【?成器】【(),函數結合yield】

2.2 迭代器


迭代器不但可以作?于for-in循環,還可以使?next()函數將其中的元素獲取出來,當獲取完最后?個元素之后,當再次調?next?法,則會出現StopIteration錯誤,表示?法繼續返回?個值。可以使?isinstance()判斷?個對象是否是迭代器。迭代器的類型是Iterator

2.3 將迭代對象轉換為迭代器


迭代器?定是可迭代對象,但是,可迭代對象不?定是迭代器iter():

將可迭代對象轉化為迭代器【主要針對list、 set、 tuple、 dict、 string】

3. 包


包是為了解決模塊重名問題, python引?了以?錄?式組織模塊,稱之為包(package),?個包中可以包含模塊、包。 python的包中必須包含?個特殊?件,被命名為__ init__.py,這?件告訴解釋器這是?個包,??錄則不要求?定要有,這是?錄和包的區別;另外可以使?import導?包中的模塊,但?錄不?。


4.模塊


在python中,模塊是代碼組織的?種?式,把功能相近的函數放到?個?件中,?個?件(.py)就是?個模塊(module),模塊名就是?件名去掉后綴py。這樣做的好處是:

  • 提?代碼的可復?、可維護性。?個模塊編寫完畢后,可以很?便的在其他項?中導?
  • 解決了命名沖突,不同模塊中相同的命名不會沖突

常?標準庫:

4.1 模塊搜索路徑


當導??個模塊時,解釋器先在當前包中查找模塊,若找不到,然后在內置的built-in模塊中查找,找不到則按sys.path給定的路徑找對應的模塊?件(模塊名.py)

4.2 導?模塊


可以使?import語句導?模塊,格式:

import語句的模塊順序,推薦在?件開頭導?模塊,建議按照如下順序:

  • python標準庫
  • 第三?庫
  • ?定義庫

這三類庫中間添加?個空?,模塊第?次被導?的時候會被執?。如果在導?模塊不想執?模塊中代碼,可以使? __ name__ 屬性進?判斷,如果該模塊是當前模塊,不是導?模塊, __name __ 的值是 __main__ 。所以可以這樣檢測:


?

總結

以上是生活随笔為你收集整理的包和模块_月隐学python第13课的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。