91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python基礎(chǔ)知識(shí)點(diǎn)(四)

python爬蟲知識(shí)分享 ? 來(lái)源:python爬蟲知識(shí)分享 ? 作者:python爬蟲知識(shí)分享 ? 2022-04-02 15:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

神奇的 intern 機(jī)制

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

例如:Python解釋器中使用了 intern(字符串駐留)的技術(shù)來(lái)提高字符串效率,什么是intern機(jī)制?就是同樣的字符串對(duì)象僅僅會(huì)保存一份,放在一個(gè)字符串儲(chǔ)蓄池中,是共用的,當(dāng)然,肯定不能改變,這也決定了字符串必須是不可變對(duì)象。

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

# 如果有空格,默認(rèn)不啟用intern機(jī)制
>>> s1="hell o"
>>> s2="hell o"
>>> s1 is s2
False

# 如果一個(gè)字符串長(zhǎng)度超過(guò)20個(gè)字符,不啟動(dòng)intern機(jī)制
>>> 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

如果你足夠細(xì)心,你會(huì)在你的機(jī)器上,有些包是安裝在 site-packages 下,而有些包安裝在 dist-packages 下。

它們有什么區(qū)別呢?

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

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

Debian 這么設(shè)計(jì)的原因,是為了減少不同來(lái)源的 Python 之間產(chǎn)生的沖突。

如何查找 Python 安裝目錄

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

argument 和 parameter 的區(qū)別

arguments 和 parameter 的翻譯都是參數(shù),在中文場(chǎng)景下,二者混用基本沒有問(wèn)題,畢竟都叫參數(shù)嘛。

但若要嚴(yán)格再進(jìn)行區(qū)分,它們實(shí)際上還有各自的叫法

parameter:形參(formal parameter),體現(xiàn)在函數(shù)內(nèi)部,作用域是這個(gè)函數(shù)體。

argument :實(shí)參(actual parameter),調(diào)用函數(shù)實(shí)際傳遞的參數(shù)。

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

def output_msg(msg):
    print(msg)

output_msg("error")

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

在初始化一個(gè)空字典時(shí),有的人會(huì)寫 dict(),而有的人會(huì)寫成 {}

很多人會(huì)想當(dāng)然的認(rèn)為二者是等同的,但實(shí)際情況卻不是這樣的。

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

使用 timeit 模塊,可以輕松測(cè)出這個(gè)結(jié)果

$ 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

那為什么會(huì)這樣呢?

探究這個(gè)過(guò)程,可以使用 dis 模塊

當(dāng)使用 {} 時(shí)

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

當(dāng)使用 dict() 時(shí):

$ 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

可以發(fā)現(xiàn)使用 dict(),會(huì)多了個(gè)調(diào)用函數(shù)的過(guò)程,而這個(gè)過(guò)程會(huì)有進(jìn)出棧的操作,相對(duì)更加耗時(shí)。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7335

    瀏覽量

    94779
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    596

    瀏覽量

    23168
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90057
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    labview編程及基礎(chǔ)知識(shí)分享

    最近建了一個(gè)公眾號(hào),本人會(huì)在上面進(jìn)行l(wèi)abview編程知識(shí)的分享,歡迎大家關(guān)注;公眾號(hào)叫:上位機(jī)知識(shí)分享LABVIEW
    發(fā)表于 02-13 10:08

    阻燃系列基礎(chǔ)知識(shí)

    我很榮幸有機(jī)會(huì)在這里與大家分享我對(duì)阻燃系列基礎(chǔ)知識(shí)的研究。今天,我們將探討的主題是“阻燃系列基礎(chǔ)知識(shí)”。在我們?nèi)粘I钪校馂?zāi)事故頻發(fā),造成巨大的財(cái)產(chǎn)損失和人員傷亡。因此,了解阻燃材料的基礎(chǔ)知識(shí)對(duì)于
    的頭像 發(fā)表于 02-06 08:07 ?301次閱讀
    阻燃系列<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    無(wú)刷電機(jī)驅(qū)動(dòng)器的基礎(chǔ)知識(shí)

    本文將從技術(shù)角度出發(fā),對(duì)三相無(wú)刷電機(jī)的電機(jī)驅(qū)動(dòng)器的作用、種類和規(guī)格進(jìn)行介紹。通過(guò)本文,您可以學(xué)習(xí)到電機(jī)驅(qū)動(dòng)器選型所需的基礎(chǔ)知識(shí)。
    的頭像 發(fā)表于 12-10 14:13 ?6686次閱讀
    無(wú)刷電機(jī)驅(qū)動(dòng)器的<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    視覺工程師必須知道的工業(yè)相機(jī)基礎(chǔ)知識(shí)

    工業(yè)相機(jī)基礎(chǔ)知識(shí)概述。
    的頭像 發(fā)表于 09-19 17:04 ?1308次閱讀
    視覺工程師必須知道的工業(yè)相機(jī)<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    【「Yocto項(xiàng)目實(shí)戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)」閱讀體驗(yàn)】01初讀體驗(yàn)

    第三章和第章,更多的是從語(yǔ)法和源文件分析的角度上去講解yocto相關(guān)的基礎(chǔ)知識(shí),但由于內(nèi)容比較偏知識(shí)點(diǎn)講解,缺乏實(shí)戰(zhàn),因此看完后,腦海中僅有個(gè)概念,看到后面的內(nèi)容時(shí)還需要往回翻對(duì)應(yīng)的知識(shí)點(diǎn)
    發(fā)表于 06-30 21:49

    跟老齊學(xué)Python:從入門到精通

    本帖最后由 yuu_cool 于 2025-6-3 16:52 編輯 本資料是面向編程零基礎(chǔ)讀者的Python 入門教程,內(nèi)容涵蓋了Python基礎(chǔ)知識(shí)和初步應(yīng)用。以比較輕快的風(fēng)格,向零基
    發(fā)表于 06-03 16:10

    EMC 設(shè)計(jì)避坑指南:不口訣

    明明設(shè)計(jì)得很好,為什么一做EMC測(cè)試就失敗?雷卯EMC小哥教大家4個(gè)超實(shí)用的EMC設(shè)計(jì)技巧不口訣,幫你避開常見的坑!準(zhǔn)則1讓電流“走捷徑”,不繞遠(yuǎn)路核心邏輯:高頻電流走“電感最小路徑”,環(huán)路越大→輻射越強(qiáng)!雷卯實(shí)驗(yàn)室關(guān)鍵知識(shí)點(diǎn)
    的頭像 發(fā)表于 05-29 09:03 ?3170次閱讀
    EMC 設(shè)計(jì)避坑指南:<b class='flag-5'>四</b>不口訣

    【「# 運(yùn)算放大器參數(shù)解析與LTspice應(yīng)用仿真」閱讀體驗(yàn)】+全書概覽與第一章閱讀分享

    先來(lái)詳細(xì)閱讀下第一章,分享下相關(guān)內(nèi)容。 第一章主要介紹運(yùn)放的基礎(chǔ)知識(shí),學(xué)過(guò)模電的都很容易理解,可能教材上學(xué)過(guò)的忘記了, 這里可以作為摘出來(lái)的重點(diǎn)溫故知新復(fù)習(xí)下。全文沒有廢話,都是娓娓道來(lái)各個(gè)知識(shí)點(diǎn)
    發(fā)表于 05-22 23:18

    C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍

    單片機(jī)關(guān)鍵知識(shí)點(diǎn)一覽: 系列一 1:?jiǎn)纹瑱C(jī)簡(jiǎn)敘 2:?jiǎn)纹瑱C(jī)引腳介紹 3:?jiǎn)纹瑱C(jī)存儲(chǔ)器結(jié)構(gòu) 4:第一個(gè)單片機(jī)小程序 5:?jiǎn)纹瑱C(jī)延時(shí)程序分析 6:?jiǎn)纹瑱C(jī)并行口結(jié)構(gòu) 7:?jiǎn)纹瑱C(jī)的特殊
    發(fā)表于 05-15 14:00

    電機(jī)選型計(jì)算公式與知識(shí)點(diǎn)匯總

    純分享帖,需要者可點(diǎn)擊附件獲取完整資料~~~*附件:電機(jī)選型計(jì)算公式與知識(shí)點(diǎn)匯總.pdf 【免責(zé)聲明】?jī)?nèi)容轉(zhuǎn)自今日電機(jī),因轉(zhuǎn)載眾多,無(wú)法確認(rèn)真正原始作者,故僅標(biāo)明轉(zhuǎn)載來(lái)源。版權(quán)歸原出處所有,純分享帖,侵權(quán)請(qǐng)聯(lián)系刪除內(nèi)容以保證您的權(quán)益。
    發(fā)表于 04-29 16:10

    最易讀懂的理工科基礎(chǔ)叢書——圖解電機(jī)基礎(chǔ)知識(shí)入門

    本書深人淺出地介紹了電動(dòng)機(jī)的基礎(chǔ)知識(shí)、應(yīng)用和發(fā)展,其內(nèi)容包括電動(dòng)機(jī)的用途、電動(dòng)機(jī)的基礎(chǔ)知識(shí)及應(yīng)用、電流和磁場(chǎng)的關(guān)系、直流電動(dòng)機(jī)的結(jié)構(gòu)和作用、交流電動(dòng)機(jī)的結(jié)構(gòu)和作用、特殊電動(dòng)機(jī)的結(jié)構(gòu)和作用
    發(fā)表于 04-07 18:28

    1-半導(dǎo)體基礎(chǔ)知識(shí)(童詩(shī)白、華成英主編)

    介紹了半導(dǎo)體基礎(chǔ)知識(shí),二極管,三極管。
    發(fā)表于 03-28 16:12

    效果器的基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《效果器的基礎(chǔ)知識(shí).doc》資料免費(fèi)下載
    發(fā)表于 03-26 14:30 ?7次下載

    射頻基礎(chǔ)知識(shí)培訓(xùn)(華為)—PPT版

    基本概念和知識(shí) 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~)
    發(fā)表于 03-22 16:30

    電氣工程師必知必會(huì)的100個(gè)電?知識(shí)點(diǎn)分享

    電??程師也都是從電?學(xué)徒??步?步積累成長(zhǎng)起來(lái)的。積跬步?千?,匯細(xì)流成江海!朋友們,現(xiàn)在讓我們??個(gè)捷徑,花半個(gè)?時(shí)的時(shí)間來(lái)積累100個(gè)必知必會(huì)的電?知識(shí)點(diǎn)吧!
    的頭像 發(fā)表于 03-14 11:05 ?1859次閱讀