日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

编写递归下降语法分析器_Python3知识点流程控制、迭代器、生成器快速入门

發布時間:2025/3/19 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编写递归下降语法分析器_Python3知识点流程控制、迭代器、生成器快速入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

流程控制

if 控制

if?表達式1:
????語句if?表達式2:
????????語句elif?表達式3:
????????語句else:
????????語句elif?表達式4:
????語句else:
????語句

1、每個條件后面要使用冒號?:,表示接下來是滿足條件后要執行的語句塊。
2、使用縮進來劃分語句塊,相同縮進數的語句在一起組成一個語句塊。
3、在 Python 中沒有 switch - case 語句。

三元運算符:

if else

編寫條件語句時,應該盡量避免使用嵌套語句。嵌套語句不便于閱讀,而且可能會忽略一些可能性。

for 遍歷

for in :
? ?else:
? ?

else 語句中的語句2只有循環正常退出(遍歷完所有遍歷對象中的值)時執行。

在字典中遍歷時,關鍵字和對應的值可以使用?items()?方法同時解讀出來:

knights?=?{'gallahad':?'the?pure',?'robin':?'the?brave'}for?k,?v?in?knights.items():print(k,?v)

在序列中遍歷時,索引位置和對應值可以使用?enumerate()?函數同時得到:

for?i,?v?in?enumerate(['tic',?'tac',?'toe']):print(i,?v)

同時遍歷兩個或更多的序列,可以使用?zip()?組合:

questions?=?['name',?'quest',?'favorite?color']
answers?=?['lancelot',?'the?holy?grail',?'blue']for?q,?a?in?zip(questions,?answers):print('What?is?your?{0}???It?is?{1}.'.format(q,?a))

要反向遍歷一個序列,首先指定這個序列,然后調用?reversed()?函數:

for?i?in?reversed(range(1,?10,?2)):print(i)

要按順序遍歷一個序列,使用?sorted()?函數返回一個已排序的序列,并不修改原值:

basket?=?['apple',?'orange',?'apple',?'pear',?'orange',?'banana']for?f?in?sorted(set(basket)):print(f)

while 循環

while:
? ?else:
? ?

break、continue、pass

break 語句用在 while 和 for 循環中,break 語句用來終止循環語句,即循環條件沒有 False 條件或者序列還沒被完全遞歸完,也會停止執行循環語句。
continue 語句用在 while 和 for 循環中,continue 語句用來告訴 Python 跳過當前循環的剩余語句,然后繼續進行下一輪循環。continue 語句跳出本次循環,而 break 跳出整個循環。

pass 是空語句,是為了保持程序結構的完整性。pass 不做任何事情,一般用做占位語句。

迭代器

  • 迭代器是一個可以記住遍歷的位置的對象。

  • 迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會后退。

  • 迭代器有兩個基本的方法:iter()?和?next()。

  • 字符串,列表或元組對象都可用于創建迭代器。

迭代器可以被 for 循環進行遍歷:

li?=?[1,?2,?3]
it?=?iter(li)
for?val?in?it:
????print(val)

迭代器也可以用 next() 函數訪問下一個元素值:

import?sys
li?=?[1,2,3,4]
it?=?iter(li)while?True:try:print?(next(it))except?StopIteration:
????????sys.exit()

生成器

  • 在 Python 中,使用了 yield 的函數被稱為生成器(generator)。

  • 跟普通函數不同的是,生成器是一個返回迭代器的函數,只能用于迭代操作,更簡單點理解生成器就是一個迭代器。

  • 在調用生成器運行的過程中,每次遇到 yield 時函數會暫停并保存當前所有的運行信息,返回 yield 的值, 并在下一次執行 next() 方法時從當前位置繼續運行。

  • 調用一個生成器函數,返回的是一個迭代器對象。

import?sysdef?fibonacci(n):?#?生成器函數?-?斐波那契
????a,?b,?counter?=?0,?1,?0while?True:if?(counter?>?n):?returnyield?a
????????a,?b?=?b,?a?+?b
????????counter?+=?1
f?=?fibonacci(10)?#?f?是一個迭代器,由生成器返回生成while?True:try:
????????print(next(f))except?StopIteration:
????????sys.exit()

end...未完待續

往期推薦

Python3基本數據類型快速入門

Python3基礎語法快速入門

30個極簡Python代碼,即學即用

WebSocket協議

你聽說過python陷阱么?

點擊“閱讀原文”,領取 2020 年最新免費技術資料大全

↓↓↓

總結

以上是生活随笔為你收集整理的编写递归下降语法分析器_Python3知识点流程控制、迭代器、生成器快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。