chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

詳解Python的for和while循環(huán)

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

掃碼添加小助手

加入工程師交流群

Python 的 for 和 while 循環(huán)是靈活并且高級(jí)的,語法自然、讀起來像偽代碼。而 Cython 也支持 for 和 while,無需修改。但由于循環(huán)通常占據(jù)程序運(yùn)行時(shí)的大部分時(shí)間,因此我們可以通過一些優(yōu)化,確保 Cython 能夠?qū)?Python 循環(huán)轉(zhuǎn)換為高效的 C 循環(huán)。

n=100
foriinrange(n):
 ...

上面是一個(gè)標(biāo)準(zhǔn)的 Python for 循環(huán),如果這個(gè) i 和 n 是靜態(tài)類型,那么 Cython 就能生成更快的 C 代碼。

cdef Py_ssize_t i, n = 100
for i in range(n):
    ...
# 這段代碼和下面的C代碼是等效的
"""
for (i=0; i

所以當(dāng)通過 range 進(jìn)行循環(huán)時(shí),我們應(yīng)該將 range 里面的參數(shù)以及循環(huán)變量換成 C 的整型。如果不顯式地進(jìn)行靜態(tài)聲明的話,Cython 就會(huì)采用最保守的策略:

cdef Py_ssize_t n = 100
for i in range(n):
    print(i + 2 ** 100)

在循環(huán)的時(shí)候,如果我們使用了變量 i,那么在和一個(gè)數(shù)字相加的時(shí)候,由于 Cython 無法確定是否會(huì)發(fā)生溢出,因此會(huì)保守的選擇 Python 的整型。

如果我們能保證表達(dá)式中一定不會(huì)發(fā)生溢出,那么可以顯式地將 i 也聲明為 C 的整數(shù)類型。

當(dāng)然不光是整型,其它的 Python 類型也可以提前聲明,舉個(gè)例子:

cdef list lst = [
    {"name": "satori", "age": 17},
    {"name": "koishi", "age": 16},
    {"name": "marisa", "age": 15},
]

# lst 里面都是字典,在遍歷之前可以提前聲明好
cdef dict item
for item in lst:
    print(f"{item['name']}, {item['age']}")
"""
satori, 17
koishi, 16
marisa, 15
"""

# 通過 cdef dict item 提前聲明循環(huán)變量的類型
# 然后遍歷以及操作的時(shí)候,速度會(huì)快很多
# 因?yàn)槲覀儗?shí)現(xiàn)了基于類型的優(yōu)化

以上是 for 循環(huán),至于 while 循環(huán)也是同理,說白了還是規(guī)定好類型,實(shí)現(xiàn)基于類型的優(yōu)化。

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    92

    瀏覽量

    16640
  • C代碼
    +關(guān)注

    關(guān)注

    1

    文章

    90

    瀏覽量

    15139
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4866

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    沒有專利的opencv-python 版本

    所有 官方發(fā)布的 opencv-python 核心版本(無 contrib 擴(kuò)展)都無專利風(fēng)險(xiǎn)——專利問題僅存在于 opencv-contrib-python 擴(kuò)展模塊中的少數(shù)算法(如早期 SIFT
    發(fā)表于 12-13 12:37

    第4章 C語言基礎(chǔ)以及流水燈的實(shí)現(xiàn)(4.5 4.6)

    4.5while循環(huán)語句 在單片機(jī)C語言編程的時(shí)候,每個(gè)程序都會(huì)固定的加一句while(1),這條語句就可以起到死循環(huán)的作用。對(duì)于while
    的頭像 發(fā)表于 11-06 11:21 ?236次閱讀

    淘寶商品詳情接口(item_get)企業(yè)級(jí)全解析:參數(shù)配置、簽名機(jī)制與 Python 代碼實(shí)戰(zhàn)

    本文詳解淘寶開放平臺(tái)taobao.item_get接口對(duì)接全流程,涵蓋參數(shù)配置、MD5簽名生成、Python企業(yè)級(jí)代碼實(shí)現(xiàn)及高頻問題排查,提供可落地的實(shí)戰(zhàn)方案,助你高效穩(wěn)定獲取商品數(shù)據(jù)。
    的頭像 發(fā)表于 09-26 09:13 ?623次閱讀
    淘寶商品詳情接口(item_get)企業(yè)級(jí)全解析:參數(shù)配置、簽名機(jī)制與 <b class='flag-5'>Python</b> 代碼實(shí)戰(zhàn)

    人工智能行業(yè)如何使用for循環(huán)語句進(jìn)行循環(huán)

    人工智能行業(yè)可以使用以下是關(guān)于for循環(huán)在不同編程語言中的基本用法說明: Python中的for循環(huán): 主要用于遍歷序列(列表、元組、字符串等) 典型結(jié)構(gòu):for item in sequence
    的頭像 發(fā)表于 09-10 12:55 ?488次閱讀

    termux調(diào)試python猜數(shù)字游戲

    用termux做一個(gè)猜數(shù)字游戲 下面是在Termux中創(chuàng)建猜數(shù)字游戲的步驟及完整實(shí)現(xiàn)方案,結(jié)合Python實(shí)現(xiàn)(最適配Termux環(huán)境): ? 一、環(huán)境準(zhǔn)備(Termux基礎(chǔ)配置) 1.
    發(fā)表于 08-29 17:15

    termux如何搭建python游戲

    ((800, 600)) pygame.display.set_caption(\"Termux Python Game\") running = True while
    發(fā)表于 08-29 07:06

    Python中字符串逆序有幾種方式,代碼是什么

    對(duì)于一個(gè)給定的字符串,逆序輸出,這個(gè)任務(wù)對(duì)于python來說是一種很簡單的操作,畢竟強(qiáng)大的列表和字符串處理的一些列函數(shù)足以應(yīng)付這些問題 了,今天總結(jié)了一下python中對(duì)于字符串的逆序輸出的幾種常用
    的頭像 發(fā)表于 08-28 14:44 ?869次閱讀

    python app不能運(yùn)行怎么解決?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    發(fā)表于 08-06 06:27

    基礎(chǔ)篇3:掌握Python中的條件語句與循環(huán)

    Python編程語言中,條件語句和循環(huán)是構(gòu)成復(fù)雜邏輯和數(shù)據(jù)處理的基石。本篇基礎(chǔ)教程將幫助您深入了解Python中的條件語句和循環(huán)結(jié)構(gòu),讓您能夠更好地控制程序流程。 條件語句 條件語句
    發(fā)表于 07-03 16:13

    ?如何在虛擬環(huán)境中使用 Python,提升你的開發(fā)體驗(yàn)~

    RaspberryPiOS預(yù)裝了Python,你需要使用其虛擬環(huán)境來安裝包。今天出版的最新一期《TheMagPi》雜志刊登了我們文檔負(fù)責(zé)人NateContino撰寫的一篇實(shí)用教程,幫助你入門
    的頭像 發(fā)表于 03-25 09:34 ?735次閱讀
    ?如何在虛擬環(huán)境中使用 <b class='flag-5'>Python</b>,提升你的開發(fā)體驗(yàn)~

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運(yùn)行一個(gè)簡單的Python程序。什么是Python程序?
    的頭像 發(fā)表于 03-25 09:27 ?1731次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行<b class='flag-5'>Python</b>程序?

    技術(shù)干貨驛站 ▏深入理解C語言:嵌套循環(huán)循環(huán)控制的底層原理

    大家好!在上一節(jié)中,我們學(xué)習(xí)了C語言中的基本循環(huán)語句,如for、while和do...while循環(huán)。今天,我們將進(jìn)一步探討嵌套循環(huán)
    的頭像 發(fā)表于 02-21 18:26 ?1182次閱讀
    技術(shù)干貨驛站  ▏深入理解C語言:嵌套<b class='flag-5'>循環(huán)</b>與<b class='flag-5'>循環(huán)</b>控制的底層原理

    Python繪圖Matplotlib快速參考手冊(cè)

    ?PYTHON
    發(fā)表于 02-07 14:04 ?0次下載

    可靠性溫度循環(huán)試驗(yàn)至少需要幾個(gè)循環(huán)

    溫度循環(huán)作為自然環(huán)境的模擬,可以考核產(chǎn)品在不同環(huán)境條件下的適應(yīng)能力,常用于產(chǎn)品在開發(fā)階段的型式試驗(yàn)、元器件的篩選試驗(yàn)。一、溫度循環(huán)測試介紹溫度循環(huán)試驗(yàn),也稱為熱循環(huán)試驗(yàn)、高低溫
    的頭像 發(fā)表于 01-23 15:26 ?1148次閱讀
    可靠性溫度<b class='flag-5'>循環(huán)</b>試驗(yàn)至少需要幾個(gè)<b class='flag-5'>循環(huán)</b>?

    Python Connector for InterBase連接解決方案

    適用于 InterBase 的 Python 連接器 Python Connector for InterBase 是一種可靠的連接解決方案,用于從 Python 應(yīng)用程序訪問 InterBase
    的頭像 發(fā)表于 01-22 14:34 ?838次閱讀