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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python学习笔记(四)、条件、循环及其他语句

發(fā)布時(shí)間:2025/7/14 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python学习笔记(四)、条件、循环及其他语句 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 再談print和import

  1.1 打印多個(gè)參數(shù)

    print 能夠同時(shí)打印多個(gè)表達(dá)式,并且能自定義分隔符。如下:

    print('a','b','c')  ——> a b c

    print('a','b','c',sep="_")  ——> a_b_c

  1.2 import

    導(dǎo)入模塊時(shí),能夠給導(dǎo)入的模塊取一個(gè)別名(相對于生活中的小名,不管怎么叫,還是你而已),方法是在語句末尾添加?as 子句并指定別名。

    import math as foobar

    from pi import math as PI

2 賦值

  即便是不起眼的賦值語句也蘊(yùn)含著一些敲門。

  2.1 序列解包

  python 能夠同時(shí)(并行)給多個(gè)變量賦值。如 x,y,z = 1,2,3? ? ? ? ? x,y = y,x 。這樣的操作我們稱之為序列解包(可迭代對象解包):將一個(gè)序列(任何可迭代對象)解包,并將得到的值存儲到一系列變量中。值得注意的是,要解包的序列包含的元素個(gè)數(shù)必須與你在等號左邊列出的目標(biāo)個(gè)數(shù)相同,否則python將引發(fā)異常。

  如果你想要收集要解包的序列包含的元素多余值,可以使用星號運(yùn)算符(?*?)來收集,這樣無需確保值和變量的個(gè)數(shù)相同。如:

  a, *b , c = (1, 2, 3, 4)  ——> b = [2, 3]

  2.2 鏈?zhǔn)劫x值

  將多個(gè)變量關(guān)聯(lián)到同一個(gè)值。如:x = y = fn1()

  2.3 增強(qiáng)賦值

  可以不編寫代碼x = x + 1,而將右邊表達(dá)式中的運(yùn)算符移到賦值運(yùn)算符( = )的前面,從而寫成 x += 1。這稱為增強(qiáng)賦值。適用于所有標(biāo)準(zhǔn)運(yùn)算符,如+、-、* 、%等。

3 代碼塊

  代碼塊是一組語句,可在滿足條件時(shí)執(zhí)行(if語句),可執(zhí)行多次(循環(huán)),等等。代碼塊是通過縮進(jìn)代碼(即在前面加空格)來創(chuàng)建的。如:

  while True:

  ? ? ....

  ? ? ....

4 條件和條件語句

  4.1 這正是布爾值得用武之地

  用作布爾表達(dá)式時(shí),下面的都將被解釋器視為

  False None 0 "" () '' [] {}

  換而言之,標(biāo)準(zhǔn)值False和None、各種類型的數(shù)值0、空序列以及空映射都被視為假,其他各種值都被視為真。

  布爾值True和False屬于類型bool,與list、str、tuple和dict一樣,都可以用來轉(zhuǎn)換其他值。如bool("aa")  ——> True

  4.2 if...else / if...elif...elif...else語句

  if 語句能夠讓你有條件的執(zhí)行代碼。并且if 條件語句中能夠通過代碼塊嵌套if語句。

  4.3 更復(fù)雜的條件

    4.3.1 比較運(yùn)算符

    常見的比較運(yùn)算符有==、<、> 、!= 等,python中還可以用is、in來比較對象。

    x is y    x和y是同一個(gè)對象時(shí)返回True

    x is not y   x和y不是同一個(gè)對象時(shí)返回True

    x in y    x是容器(如序列)y的成員時(shí)返回True

    x not in y   x不是容器(如序列)y的成員時(shí)返回True

    還能夠進(jìn)行鏈?zhǔn)綐?biāo)記,如 1 <= number < 20。

    4.3.2 布爾運(yùn)算符

    and 、or not。and表示同時(shí)滿足兩個(gè)條件才為True; or表示只有有一個(gè)條件滿足就為True,否則為False; not表示相反。布爾運(yùn)算符有個(gè)有趣的特征:只做必要的技術(shù),也就是常說的短路,即短路邏輯(延遲求值)。

  4.4 斷言

  關(guān)鍵字 assert ,當(dāng)條件滿足時(shí)執(zhí)行,不滿足時(shí)程序異常退出,一般用于程序中的檢查點(diǎn)。

5 循環(huán)

  使程序多次執(zhí)行。

  5.1 while循環(huán)

  while 條件:

    ......

  當(dāng)滿足條件的時(shí)候,執(zhí)行程序塊。

  5.2 for 循環(huán)

  for a1 in list1:

    ......

  對可迭代的對象(如序列)進(jìn)行遍歷。

  5.3 迭代字典

  for key in dict1:

    dict1[key]......

  5.4 一些迭代工具

    5.4.1 并行迭代

    有時(shí)候你可能想同時(shí)迭代兩個(gè)序列,python提供了一個(gè)內(nèi)置函數(shù)?zip ,它將兩個(gè)序列 “縫合” 起來,并返回一個(gè)由元祖組成的序列。如:

    list(zip(names,ages))  ——> [(name1,age1),(name2,age2).....]

    值得注意的是,zip 比不需要兩個(gè)序列的長度len相等,zip只取兩個(gè)序列長度的最小值,即ziplen = min((len(names),len(ages)))。

    5.4.2 迭代時(shí)獲取索引

    python 提供了一個(gè)內(nèi)置函數(shù)enumerate。能夠在迭代的時(shí)候獲取到序列項(xiàng)的索引值。如:

    for index,ages in enumarate(ages):

      .......

    enumerate函數(shù)相當(dāng)于把序列轉(zhuǎn)為一個(gè)dict字典類型。key為index,value為序列對應(yīng)的值。

    5.4.3 方向迭代和排序后再迭代

    使用函數(shù):reversed和sorted。

  5.5 跳出循環(huán)

    在編碼過程中,有時(shí)候只要當(dāng)滿足一定條件才能執(zhí)行循環(huán)、跳出循環(huán)等。

    5.5.1 break

    跳出當(dāng)前循環(huán)。并且能夠在循環(huán)中添加一條else子句,它表示在沒有調(diào)用break 時(shí)才執(zhí)行。如:

    for age in ages:

      if age > 10 :

        break

    else:

      print("ages中年齡全部都小于等于10")

    5.5.2 continue

    表示結(jié)束當(dāng)前迭代,并跳到下一次迭代開頭。即意味著跳過循環(huán)體重余下的語句,但不結(jié)束循環(huán)。

6 簡單推導(dǎo)

  列表推導(dǎo)是一種從其他列表創(chuàng)建列表的方式,類似于數(shù)學(xué)中的集合推導(dǎo)。如:

  [x * x for x in range(10)]    表示0~9 的平方列表。

  [x * x for x in range(10) if x%2 == 0]    表示0~9中能夠被整除2的數(shù)的平方列表

  [(x,y) for x in range(10) for y in range(10)]    等效于兩個(gè)for循環(huán),表示x從0~9、y從0~9的笛卡爾積。

7 pass、del、exec、eval

  7.1 pass

  由于python中代碼塊不能為空,通常用pass 占位符來表示,代表什么都不用做。

  7.2 del

  對于你不再使用的對象,python通常對將其刪除。del obj? 不僅會刪除到對象的引用,還會刪除名稱本事。

  7.3 exec

  函數(shù)exec將字符串作為代碼執(zhí)行。

  7.4 eval

  函數(shù)eval將字符串作為表達(dá)式執(zhí)行并返回結(jié)果。?

?

轉(zhuǎn)載于:https://www.cnblogs.com/www-123456/p/10458514.html

總結(jié)

以上是生活随笔為你收集整理的python学习笔记(四)、条件、循环及其他语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。