亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

Python 的 for 和 while 循環(huán)是靈活并且高級(jí)的,語(yǔ)法自然、讀起來(lái)像偽代碼。而 Cython 也支持 for 和 while,無(wú)需修改。但由于循環(huán)通常占據(jù)程序運(yùn)行時(shí)的大部分時(shí)間,因此我們可以通過(guò)一些優(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)通過(guò) 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 無(wú)法確定是否會(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
"""

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

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 循環(huán)
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

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

    關(guān)注

    1

    文章

    90

    瀏覽量

    15055
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4851

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

    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 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中的條件語(yǔ)句與循環(huán)

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

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

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

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

    大家好!在上一節(jié)中,我們學(xué)習(xí)了C語(yǔ)言中的基本循環(huán)語(yǔ)句,如for、while和do...while循環(huán)。今天,我們將進(jìn)一步探討嵌套循環(huán)
    的頭像 發(fā)表于 02-21 18:26 ?941次閱讀
    技術(shù)干貨驛站  ▏深入理解C語(yǔ)言:嵌套<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)品在開(kāi)發(fā)階段的型式試驗(yàn)、元器件的篩選試驗(yàn)。一、溫度循環(huán)測(cè)試介紹溫度循環(huán)試驗(yàn),也稱為熱循環(huán)試驗(yàn)、高低溫
    的頭像 發(fā)表于 01-23 15:26 ?914次閱讀
    可靠性溫度<b class='flag-5'>循環(huán)</b>試驗(yàn)至少需要幾個(gè)<b class='flag-5'>循環(huán)</b>?

    使用Python實(shí)現(xiàn)xgboost教程

    使用Python實(shí)現(xiàn)XGBoost模型通常涉及以下幾個(gè)步驟:數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練、模型評(píng)估和模型預(yù)測(cè)。以下是一個(gè)詳細(xì)的教程,指導(dǎo)你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發(fā)表于 01-19 11:21 ?2055次閱讀

    AMC7812和STM32F407進(jìn)行硬件I2C通信,為什么總是停在第三個(gè)while循環(huán)里?

    )); *buf = I2C_ReceiveData(I2Cx); buf++; num--; } I2C_AcknowledgeConfig(I2Cx,ENABLE); 請(qǐng)問(wèn)為什么總是停在第三個(gè)while循環(huán)
    發(fā)表于 01-08 07:56

    深入理解C語(yǔ)言:循環(huán)語(yǔ)句的應(yīng)用與優(yōu)化技巧

    能讓你的代碼更加簡(jiǎn)潔明了,還能顯著提升程序執(zhí)行效率。本文將詳細(xì)介紹C語(yǔ)言中的三種常見(jiàn)循環(huán)結(jié)構(gòu)——while循環(huán)、for循環(huán)和do...while
    的頭像 發(fā)表于 12-07 01:11 ?924次閱讀
    深入理解C語(yǔ)言:<b class='flag-5'>循環(huán)</b>語(yǔ)句的應(yīng)用與優(yōu)化技巧

    使用Python進(jìn)行串口通信的案例

    當(dāng)然!以下是一個(gè)使用Python進(jìn)行串口通信的簡(jiǎn)單示例。這個(gè)示例展示了如何配置串口、發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)。我們將使用 pyserial 庫(kù),這是一個(gè)非常流行的用于串口通信的Python庫(kù)。 首先,你
    的頭像 發(fā)表于 11-22 09:11 ?2258次閱讀

    Python代理技術(shù)詳解:從入門(mén)到進(jìn)階

    Python代理技術(shù)是一種在網(wǎng)絡(luò)編程中廣泛使用的技術(shù),它允許通過(guò)代理服務(wù)器發(fā)送和接收網(wǎng)絡(luò)請(qǐng)求。
    的頭像 發(fā)表于 11-12 07:06 ?886次閱讀