色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python基礎知識點(四)

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-04-02 15:51 ? 次閱讀

神奇的 intern 機制

字符串類型作為Python中最常用的數據類型之一,Python解釋器為了提高字符串使用的效率和使用性能,做了很多優化。

例如:Python解釋器中使用了 intern(字符串駐留)的技術來提高字符串效率,什么是intern機制?就是同樣的字符串對象僅僅會保存一份,放在一個字符串儲蓄池中,是共用的,當然,肯定不能改變,這也決定了字符串必須是不可變對象。

>>> s1="hello"
>>> s2="hello"
>>> s1 is s2
True

# 如果有空格,默認不啟用intern機制
>>> s1="hell o"
>>> s2="hell o"
>>> s1 is s2
False

# 如果一個字符串長度超過20個字符,不啟動intern機制
>>> s1 = "a" * 20
>>> s2 = "a" * 20
>>> s1 is s2
True

>>> s1 = "a" * 21
>>> s2 = "a" * 21
>>> s1 is s2
False

>>> s1 = "ab" * 10
>>> s2 = "ab" * 10
>>> s1 is s2
True

>>> s1 = "ab" * 11
>>> s2 = "ab" * 11
>>> s1 is s2
False

site-packages和 dist-packages

如果你足夠細心,你會在你的機器上,有些包是安裝在 site-packages 下,而有些包安裝在 dist-packages 下。

它們有什么區別呢?

一般情況下,你只見過 site-packages 這個目錄,而你所安裝的包也將安裝在這個目錄下。

而 dist-packages 其實是 debian 系的 Linux 系統(如 Ubuntu)才特有的目錄,當你使用 apt 去安裝的 Python 包會使用 dist-packages,而你使用 pip 或者 easy_install 安裝的包還是照常安裝在 site-packages 下。

Debian 這么設計的原因,是為了減少不同來源的 Python 之間產生的沖突。

如何查找 Python 安裝目錄

>>> from distutils.sysconfig import get_python_lib
>>> print(get_python_lib())
/usr/lib/python2.7/site-packages

argument 和 parameter 的區別

arguments 和 parameter 的翻譯都是參數,在中文場景下,二者混用基本沒有問題,畢竟都叫參數嘛。

但若要嚴格再進行區分,它們實際上還有各自的叫法

parameter:形參(formal parameter),體現在函數內部,作用域是這個函數體。

argument :實參(actual parameter),調用函數實際傳遞的參數。

舉個例子,如下這段代碼,"error" 為 argument,而 msg 為 parameter。

def output_msg(msg):
    print(msg)

output_msg("error")

dict() 與 {} 生成空字典有什么區別

在初始化一個空字典時,有的人會寫 dict(),而有的人會寫成 {}

很多人會想當然的認為二者是等同的,但實際情況卻不是這樣的。

在運行效率上,{} 會比 dict() 快三倍左右。

使用 timeit 模塊,可以輕松測出這個結果

$ python -m timeit -n 1000000 -r 5 -v "dict()"
raw times: 0.0996 0.0975 0.0969 0.0969 0.0994
1000000 loops, best of 5: 0.0969 usec per loop
$
$ python -m timeit -n 1000000 -r 5 -v "{}"
raw times: 0.0305 0.0283 0.0272 0.03 0.0317
1000000 loops, best of 5: 0.0272 usec per loop

那為什么會這樣呢?

探究這個過程,可以使用 dis 模塊

當使用 {} 時

$ cat demo.py
{}
$
$ python -m dis demo.py
  1           0 BUILD_MAP                0
              2 POP_TOP
              4 LOAD_CONST               0 (None)
              6 RETURN_VALUE

當使用 dict() 時:

$ cat demo.py
dict()
$
$ python -m dis demo.py
  1           0 LOAD_NAME                0 (dict)
              2 CALL_FUNCTION            0
              4 POP_TOP
              6 LOAD_CONST               0 (None)
              8 RETURN_VALUE

可以發現使用 dict(),會多了個調用函數的過程,而這個過程會有進出棧的操作,相對更加耗時。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7085

    瀏覽量

    89217
  • 字符串
    +關注

    關注

    1

    文章

    584

    瀏覽量

    20553
  • python
    +關注

    關注

    56

    文章

    4800

    瀏覽量

    84821
收藏 人收藏

    評論

    相關推薦

    Aigtek功率放大器應用:電感線圈的知識點分享

    電磁驅動是功率放大器的一大基礎應用領域,其中我們最常見的就是用功放來驅動電感線圈,那么關于電感線圈的這10大知識點你都知道嗎?今天Aigtek安泰電子來給大家介紹一下電感線圈的基礎知識。
    的頭像 發表于 01-07 15:43 ?88次閱讀
    Aigtek功率放大器應用:電感線圈的<b class='flag-5'>知識點</b>分享

    EMC基礎知識-華為

    EMC基礎知識-華為
    發表于 01-06 14:09 ?0次下載

    后悔沒有早點看到:天線設計中的知識點!

    Cat.1 bis R13架構,天線架構精簡為單天線架構,去掉了分集接收天線,因此只需要一根天線。 ? 知識點: Cat.1 bis相對于Cat.1的區別是,后者為兩根天線(一根主天線,一根分集天線
    的頭像 發表于 12-24 17:11 ?369次閱讀
    后悔沒有早點看到:天線設計中的<b class='flag-5'>知識點</b>!

    硬件工程師面試基礎知識點

    皮爾斯振蕩器(Pierce oscillator) 上圖中,U1為增益很大的反相放大器,CL1、CL2為匹配電容,是電容三式電路的分壓電容,接地點就是分壓。以接地點即分壓為參考點,輸入和輸出是反相的,但從并聯諧振回路即石英
    的頭像 發表于 11-21 11:04 ?252次閱讀
    硬件工程師面試<b class='flag-5'>基礎知識點</b>

    接口測試理論、疑問收錄與擴展相關知識點

    本文章使用王者榮耀游戲接口、企業微信接口的展示結合理論知識,講解什么是接口測試、接口測試理論、疑問收錄與擴展相關知識點知識學院,快來一起看看吧~
    的頭像 發表于 11-15 09:12 ?342次閱讀
    接口測試理論、疑問收錄與擴展相關<b class='flag-5'>知識點</b>

    品質管理基礎知識

    品質管理基礎知識
    的頭像 發表于 11-01 11:08 ?375次閱讀
    品質管理<b class='flag-5'>基礎知識</b>

    Verilog HDL的基礎知識

    本文繼續介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環語句、同步與異步、函數與任務語法知識
    的頭像 發表于 10-24 15:00 ?505次閱讀
    Verilog HDL的<b class='flag-5'>基礎知識</b>

    負載開關基礎知識

    電子發燒友網站提供《負載開關基礎知識.pdf》資料免費下載
    發表于 10-08 09:56 ?1次下載
    負載開關<b class='flag-5'>基礎知識</b>

    C++語言基礎知識

    電子發燒友網站提供《C++語言基礎知識.pdf》資料免費下載
    發表于 07-19 10:58 ?7次下載

    模擬電子技術知識點問題總結概覽

    給大家分享模擬電子技術知識點問題總結。
    的頭像 發表于 05-08 15:16 ?1191次閱讀
    模擬電子技術<b class='flag-5'>知識點</b>問題總結概覽

    一篇搞定DCS系統相關知識點

    目標。DCS系統廣泛應用于各個行業,如化工、電力、制藥等。在這些行業中,DCS系統可以實現對生產過程的集中監控和分散控制,提高生產效率和產品質量,降低能耗和減少環境污染,從而保證產品質量,并確保生產過程的安全可靠。 二.DCS系統知識點
    的頭像 發表于 03-26 18:40 ?943次閱讀
    一篇搞定DCS系統相關<b class='flag-5'>知識點</b>

    TFT彩色液晶屏的基礎知識詳情!

    TFT(Thin-Film Transistor)彩色液晶屏是一種常見的液晶顯示技術,具有以下基礎知識、原理、優勢和應用領域; 一 、彩色液晶屏基礎知識 1、結構:TFT液晶屏由液晶層
    的頭像 發表于 03-08 15:18 ?1313次閱讀

    FPGA基礎知識介紹

    電子發燒友網站提供《FPGA基礎知識介紹.pdf》資料免費下載
    發表于 02-23 09:45 ?32次下載

    鴻蒙開發【設備開發基礎知識

    鴻蒙開發基礎知識講解
    的頭像 發表于 01-29 18:44 ?1051次閱讀
    鴻蒙開發【設備開發<b class='flag-5'>基礎知識</b>】

    射頻與微波基礎知識

    射頻與微波基礎知識
    的頭像 發表于 01-16 10:05 ?876次閱讀
    射頻與微波<b class='flag-5'>基礎知識</b>
    主站蜘蛛池模板: 永久adc视频年龄确认| 国产精品一区二区免费| 曰批国产精品视频免费观看| jk制服喷水| 白丝女仆被啪到深夜漫画| 久久无码av三级| 亚洲AV无码一区二区三区乱子伦 | 日韩欧无码一区二区三区免费不卡| 伊人最新网址| 欧美性视频xxxxhd| 99视频免费在线观看| 久久成人免费大片| 亚洲黄色网页| 国产日韩亚洲专区无码| 同时和两老师双飞| 动漫美女被到爽了流| 日韩丰满少妇无码内射| 果冻传媒mv国产陈若瑶主演| 我在厨房摸岳的乳HD在线观看| 粗壮挺进邻居人妻无码| 亚洲另类国产综合在线| 好吊射视频988gaocom| 亚洲国产精麻豆| 男总裁憋尿PLAY灌尿BL| 中文字幕人成人乱码亚洲影视S| 久99视频精品免费观看福利| 亚洲中文字幕欧美自拍一区| 九九热精品在线| 成 人 色综合| 十九岁在线观看免费完整版电影| 闺蜜撬开我的腿用黄瓜折磨我| 日本免费无码A专区在线观看| jizzzz亚洲丰满xxxx| 亚洲看片网站| 视频专区亚洲欧美日韩| 免费国产成人手机在线观看| brazzers巨臀系列| 亚洲一区自拍高清亚洲精品| 麻花传媒XK在线观看| 菠萝菠萝蜜高清观看在线| 夜色私人影院永久入口|