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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

n=100
foriinrange(n):
 ...

上面是一個標(biāo)準(zhǔn)的 Python for 循環(huán),如果這個 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 進行循環(huán)時,我們應(yīng)該將 range 里面的參數(shù)以及循環(huán)變量換成 C 的整型。如果不顯式地進行靜態(tài)聲明的話,Cython 就會采用最保守的策略:

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

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

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

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

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)變量的類型
# 然后遍歷以及操作的時候,速度會快很多
# 因為我們實現(xiàn)了基于類型的優(yōu)化

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

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    92

    瀏覽量

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

    關(guān)注

    1

    文章

    90

    瀏覽量

    15227
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4884

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    什么是熱循環(huán)試驗?有哪些設(shè)備?怎么做熱循環(huán)試驗?

    循環(huán)試驗,也稱為溫度循環(huán)試驗、高低溫循環(huán)試驗,是一種在常壓下進行試件溫度循環(huán)的可靠性試驗,用于評估材料、組件或產(chǎn)品在溫度變化條件下的耐久性和可靠性。通過模擬實際使用過程中可能遇到的溫
    的頭像 發(fā)表于 04-22 15:20 ?23次閱讀
    什么是熱<b class='flag-5'>循環(huán)</b>試驗?有哪些設(shè)備?怎么做熱<b class='flag-5'>循環(huán)</b>試驗?

    【快速溫變循環(huán)】快速溫變循環(huán)試驗箱的“循環(huán)”之道:宏展科技如何定義“一個循環(huán)

    在軍工、航天、汽車電子等高端制造領(lǐng)域,快速溫變循環(huán)試驗是驗證產(chǎn)品可靠性的核心手段。然而,“一個循環(huán)”到底如何定義?是簡單的升降溫,還是對速率、駐留時間、溫變曲線精度、循環(huán)重復(fù)性的嚴(yán)苛約束?廣東宏展
    的頭像 發(fā)表于 04-16 09:38 ?240次閱讀
    【快速溫變<b class='flag-5'>循環(huán)</b>】快速溫變<b class='flag-5'>循環(huán)</b>試驗箱的“<b class='flag-5'>循環(huán)</b>”之道:宏展科技如何定義“一個<b class='flag-5'>循環(huán)</b>”

    使用PYTHON進行的跨平臺仿真

    如何使用編程語言Python來調(diào)用和控制VirtualLab Fusion中的模擬。請查看下面鏈接的文檔,以找到關(guān)于如何設(shè)置和使用Python和VirtualLab Fusion之間的接口的詳細(xì)指南,以及一個
    發(fā)表于 04-02 08:21

    [VirtualLab] 使用Python運行VirtualLab Fusion光學(xué)仿真

    摘要 VirtualLab Fusion允許Python外部訪問其建模技術(shù)、求解器和結(jié)果。這個用例介紹了一種使用路徑變量和Visual Studio代碼將Python連接到VirtualLab
    發(fā)表于 03-31 09:39

    功率循環(huán)基礎(chǔ)篇(二) —— 功率循環(huán)壽命曲線解讀

    功率循環(huán)壽命曲線是評估功率半導(dǎo)體器件(如 ?IGBT?模塊)在溫度交變應(yīng)力下長期可靠性的核心工具。該曲線通常以 結(jié)溫波動幅度?ΔTj 為橫坐標(biāo),以器件達(dá)到指定失效判據(jù)前所經(jīng)歷的 循環(huán)次數(shù)?Nf 為
    的頭像 發(fā)表于 03-02 11:55 ?314次閱讀
    功率<b class='flag-5'>循環(huán)</b>基礎(chǔ)篇(二) —— 功率<b class='flag-5'>循環(huán)</b>壽命曲線解讀

    1688 商品詳情 API 調(diào)用與數(shù)據(jù)解析 Python 實戰(zhàn)

    你想要的是 1688 商品詳情 API 的 Python 調(diào)用與數(shù)據(jù)解析實戰(zhàn)方案,核心是完成 API 憑證配置、接口請求(含簽名)、響應(yīng)數(shù)據(jù)解析、異常處理 的全流程落地,我會提供可直接運行的代碼,并
    的頭像 發(fā)表于 02-10 11:23 ?383次閱讀

    沒有專利的opencv-python 版本

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

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

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

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

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

    人工智能行業(yè)如何使用for循環(huá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 ?685次閱讀

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

    用termux做一個猜數(shù)字游戲 下面是在Termux中創(chuàng)建猜數(shù)字游戲的步驟及完整實現(xiàn)方案,結(jié)合Python實現(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中字符串逆序有幾種方式,代碼是什么

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

    python app不能運行怎么解決?

    ;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