整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          01.結(jié)構(gòu) - Python控制結(jié)構(gòu) if 條件語句

          希望系統(tǒng)性學(xué)習(xí)一門編程語言的朋友請(qǐng)關(guān)注我,本專欄后續(xù)會(huì)持續(xù)分享優(yōu)質(zhì)文章。

          介紹

          本篇為第五篇介紹Python知識(shí)的文章,本篇也開始接觸到該門語言的邏輯語法部分,這一部分在編程語言中使用很廣泛,小到一段語句,大到一個(gè)模塊里面都有很多邏輯判斷語句,所以很有必要細(xì)致的去理解它,并將他的一些常用格式熟記于心,好了開始我們下面的文章。

          重要事項(xiàng)

          本節(jié)主要編寫的為Python語句中if語句的編寫要求:

          • 語句格式 - if語句編寫格式要求
          • 語句邏輯 - if語句的主要邏輯結(jié)構(gòu)

          演示過程

          1. 依然要調(diào)出我們系統(tǒng)的CMD命令
          2. 進(jìn)入Python環(huán)境的交互界面
          3. 編寫一段if語句程序,來體驗(yàn)邏輯語句的功能
          >>>
          >>> if 1 > 2:
          ...           print('a')
          ...      else:
          ...           print('b')
          ...
          b
          >>>

          本段程序?yàn)橐粋€(gè)簡單的 if...else 語句,這個(gè)語句主要是進(jìn)行二個(gè)數(shù)做大小的判斷,得出的結(jié)果為一個(gè)bool值,if語句在bool值為True時(shí)執(zhí)行打印字符a,為False時(shí)執(zhí)行打印字符b,通過這樣一段代碼我們就可以大概的看到if語句的執(zhí)行條件,執(zhí)行過程等情況。

          重點(diǎn)詳解

          針對(duì) if 結(jié)構(gòu)語言本專欄做了以下細(xì)致的總結(jié),大家可以細(xì)致的體會(huì)其語法作用。

          • 語句格式

          if語句的基本語法如下所示:

          if condition:
                # 如果條件為True,則執(zhí)行這里的代碼塊
                # 可以有多行代碼
          else:
                # 如果條件為False,則執(zhí)行這里的代碼塊
                # 可以有多行代碼

          if語句中,condition是一個(gè)表達(dá)式,可以是返回TrueFalse任何東西

          常見的比較運(yùn)算符包括:

            • >:大于
            • <:小于
            • >=:大于等于
            • <=:小于等于
            • ==:等于
            • !=:不等于

          多個(gè)條件:

          你也可以使用邏輯運(yùn)算符組合多個(gè)條件:

            • and:與,兩個(gè)條件都為True時(shí)結(jié)果為True
            • or:或,兩個(gè)條件中有一個(gè)為True時(shí)結(jié)果為True
            • not:非,將True變?yōu)?span style="background-color: #F3F4F4; --tt-darkmode-bgcolor: #BDBEBE;">False,將False變?yōu)?span style="background-color: #F3F4F4; --tt-darkmode-bgcolor: #BDBEBE;">True
          • 語句結(jié)構(gòu)

          單向分支結(jié)構(gòu):

          if <條件表達(dá)式>:
               執(zhí)行語句
               ...

          雙向分支結(jié)構(gòu):

          if <條件表達(dá)式>:
               執(zhí)行語句
               ...
          else:
               執(zhí)行語句
               ...

          多分支結(jié)構(gòu):

          if <條件表達(dá)式>:
               執(zhí)行語句
               ...
          elif <條件表達(dá)式>:
               執(zhí)行語句
               ...
          else:
               執(zhí)行語句
               ...

          存在多個(gè)elif語句時(shí),Python會(huì)按照順序逐個(gè)檢查每個(gè)條件,執(zhí)行第一個(gè)滿足條件的代碼塊,然后跳過其他條件的檢查。如果前面的elif條件滿足了,那么后面的elif語句就不會(huì)再被執(zhí)行。

          嵌套分支結(jié)構(gòu):

          if <條件表達(dá)式>:
               if <條件表達(dá)式>:
                   執(zhí)行語句
                   ...
               else:
                   執(zhí)行語句
                   ...
          else:
                if <條件表達(dá)式>:
                   執(zhí)行語句
                   ...
                else:
                   執(zhí)行語句
                   ...

          注意:每一層的縮進(jìn)格式要統(tǒng)一,否則可能會(huì)導(dǎo)致意想不到的情況。

          參考

          • Python官方手冊(cè) - https://docs.python.org/zh-cn/3/reference/compound_stmts.html#the-if-statement

          讓優(yōu)質(zhì)的技術(shù)更自由、開放的傳播,我是「技術(shù)小劍客」歡迎你的關(guān)注和留言。

          在 2011 年開始寫CSS的時(shí)候),從來沒有懷疑過這種語言會(huì)發(fā)生多大的變化。我還記得使用PIE.htcborder-radius 適配所有瀏覽器,我的同事做了一個(gè)PHP腳本,生成一個(gè)PNG來圓角。

          然而,在過去的幾年中出現(xiàn)了大量的CSS新特性。其中一些語句也可以被視為if語句,比如@supports樣式:

          @supports (border-radius: 50%) {
            // don't use PIE.htc! {}
          }
          

          還有一個(gè)經(jīng)典的媒體查詢,已經(jīng)存在了十多年:

          @media (max-width: 1000px) {
            //maybe a mobile sized device? {}
          }
          

          還有一個(gè)新的 camp(),有點(diǎn)不同 :

          width: clamp(1000px, 50%, 10vw);
          

          但像這樣的行為:

          width: clamp(1000px >= (50% >= 10vw));
          

          看得頭疼。

          但這些都可以說只是 if 語句。如果我們想要一個(gè) if/else 語句,我們需要做這樣的事情。

          @media (max-width: 1000px) and (prefers-color-scheme: dark) {
             //maybe a mobile device in dark mode {}
          }
          @media (max-width: 1000px) and (prefers-color-scheme: light) {
             //maybe a mobile device in light mode {}
          }
          

          這很煩人。

          但好消息是 在新提議的 @When 特性可以解決我們的煩惱。它這么用:

          @when media(max-width: 1000px) {
             // 做點(diǎn)什么
          }
          

          這很酷,但更酷的是還有 else:

          @when media(max-width: 1000px) {
             // 移動(dòng)
          } @else {
             // 平板
          }
          

          機(jī)智的你可能也想到了,那肯定還有 else if 了,沒錯(cuò)還真有:

          @when media(max-width: 1000px) {
             // 平板
          } @else media(max-width: 700px) { {
             // 移動(dòng) 
          } @else {
             // PC
          }
          

          我們也有可能可以這樣做:

          @when media(max-width: 700px) {
             @when (prefers-color-scheme: dark) {
                //dark mode on mobile device
             } @else {
                //light mode on mobile device 
             }
          }
          

          我說 "可能" 是因?yàn)樵撎匦赃€在提案中,但我相信最終會(huì)出來的(沒出來我把頭發(fā)染綠)。

          目前(20211023),瀏覽器的支持情況是怎樣的?零。少到連 Can I Use 都沒有。但隨著新的CSS樣式不斷推出,我相信我們很快就會(huì)看到它。


          作者:Kenton de Jong 譯者:前端小智 來源:codingnconcept 原文:https://kentondejong.medium.com/css-is-finally-getting-if-else-statements-3fabcec72a1f

          、流程控制

          1. 作用:控制代碼的執(zhí)行順序

          2. 分類

          2.1順序結(jié)構(gòu):從上到下依次執(zhí)行代碼語句

          2.2選擇結(jié)構(gòu):

          1. if語句

          簡單if結(jié)構(gòu)

          if(條件表達(dá)式){
              表達(dá)式成立時(shí)執(zhí)行的代碼段
          }

          注意 : 除零值以外,其他值都為真,以下條件為假值false

          if(0){}
          if(0.0){}
          if(""){} //空字符串
          if(undefined){}
          if(NaN){}
          if(null){}

          特殊寫法 : { }可以省略,一旦省略,if語句只控制其后的第一行代碼

          2. if - else結(jié)構(gòu):

          if(條件表達(dá)式){
          //條件成立時(shí)執(zhí)行
          }else{
          //條件不成立時(shí)選擇執(zhí)行
          }

          3.多重分支結(jié)構(gòu):

          if(條件1){
                //條件1成立時(shí)執(zhí)行
            }else if(條件2){
                //條件2成立時(shí)執(zhí)行
            }else if(條件3){
                //條件3成立時(shí)執(zhí)行
            }...else{
                //條件不成立時(shí)執(zhí)行
            }

          2. switch語句:

          語法 :

          switch(value){
          case 值1 :
          //value與值1匹配全等時(shí),執(zhí)行的代碼段
          break; //結(jié)束匹配
          case 值2 :
          //value與值2匹配全等時(shí),執(zhí)行的代碼段
          break;
          case 值3 :
              //value與值3匹配全等時(shí),執(zhí)行的代碼段
          break;
          default:
          //所有case匹配失敗后默認(rèn)執(zhí)行的語句
          break;
          }

          使用時(shí)要注意的:

          1. switch語句用于值的匹配,case用于列出所有可能的值;只有switch()表達(dá)式的值與case的值匹配全等時(shí),才會(huì)執(zhí)行case對(duì)應(yīng)的代碼段
          2. break用于結(jié)束匹配,不再向后執(zhí)行;可以省略,break一旦省略,會(huì)從當(dāng)前匹配到的case開始,向后執(zhí)行所有的代碼語句,直至結(jié)束或碰到break跳出
          3. default用來表示所有case都匹配失敗的情況,一般寫在末尾,做默認(rèn)操作
          4. 多個(gè)case共用代碼段
                    case 值1:
                    case 值2:
                    case 值3:
                    //以上任意一個(gè)值匹配全等都會(huì)執(zhí)行的代碼段

          3.循環(huán)結(jié)構(gòu):

          作用 根據(jù)條件,重復(fù)執(zhí)行某段代碼

          1. while循環(huán):

          定義循環(huán)變量;
            while(循環(huán)條件){
            條件滿足時(shí)執(zhí)行的代碼段
            更新循環(huán)變量;
          }

          2. do-while循環(huán):

          do{
          循環(huán)體;
          更新循環(huán)變量
          }while(循環(huán)條件);

          while 與do-while循環(huán)的區(qū)別 :

          while 循環(huán)先判斷循環(huán)條件,條件成立才執(zhí)行循環(huán)體

          do-while 循環(huán)不管條件是否成立,先執(zhí)行一次循環(huán)體

          3. for 循環(huán)

          for(定義循環(huán)變量;循環(huán)條件;更新循環(huán)變量){
              循環(huán)體;
          }

          循環(huán)控制 :

          break 強(qiáng)制結(jié)束循環(huán)

          continue 結(jié)束當(dāng)次循環(huán),開始下一次循環(huán) 循環(huán)嵌套 : 在循環(huán)中嵌套添加其他循環(huán)

          二、函數(shù)

          函數(shù)的作用:封裝一段待執(zhí)行的代碼

          語法:

           //函數(shù)聲明
            function 函數(shù)名(參數(shù)列表){
                函數(shù)體
                return 返回值;
            }
            //函數(shù)調(diào)用
            函數(shù)名(參數(shù)列表);

          使用: 函數(shù)名自定義,見名知意,命名規(guī)范參照變量的命名規(guī)范。普通函數(shù)以小寫字母開頭,用于區(qū)分構(gòu)造函數(shù)(構(gòu)造函數(shù)使用大寫字母開頭,定義類)

          三,匿名函數(shù)

          匿名函數(shù):省略函數(shù)名的函數(shù)。

          語法為:

          匿名函數(shù)自執(zhí)行

          (function (形參){
           
          })(實(shí)參);

          定義變量接收匿名函數(shù):

          var fn = function (){};
          fn(); //函數(shù)調(diào)用

          四,作用域

          JavaScript 中作用域分為全局作用域和函數(shù)作用域,以函數(shù)的{ }作為劃分作用域的依據(jù)

          1,全局變量和全局函數(shù)

          只要在函數(shù)外部使用 var 關(guān)鍵字定義的變量,或函數(shù)都是全局變量和全局函數(shù),在任何地方都可以訪問

          所有省略 var 關(guān)鍵字定義的變量,一律是全局變量

          2,局部變量/局部函數(shù)

          在函數(shù)內(nèi)部使用 var 關(guān)鍵字定義的變量為局部變量,函數(shù)內(nèi)部定義的函數(shù)也為局部函數(shù),只能在當(dāng)前作用域中使用,外界無法訪問

          3,作用域鏈 局部作用域中訪問變量或函數(shù),首先從當(dāng)前作用域中查找,當(dāng)前作用域中沒有的話,向上級(jí)作用域中查找,直至全局作用域

          作者:YJ-TX

          原文:https://www.cnblogs.com/yjtxin/p/12969576.html


          主站蜘蛛池模板: 久久久国产精品亚洲一区| 国产精品一区12p| 一区二区三区杨幂在线观看| 日韩一区二区三区精品| 国语精品一区二区三区| 精品女同一区二区三区免费站| 无码少妇一区二区浪潮免费| 久久一区不卡中文字幕| 日本中文一区二区三区亚洲| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国产一区二区三区不卡在线看| 日韩精品人妻一区二区中文八零 | 中文字幕精品一区| 视频在线观看一区| 亚洲AV无码一区二区三区久久精品| 日韩精品在线一区二区| 日本韩国黄色一区二区三区| 无码人妻一区二区三区免费视频| 亚洲电影唐人社一区二区| 国产一区二区草草影院| 在线观看国产一区亚洲bd| 高清一区二区在线观看| 国产精品自在拍一区二区不卡| 福利一区福利二区| 亚洲AV日韩AV天堂一区二区三区| 久久精品午夜一区二区福利| 韩国一区二区三区视频| 久久久久久一区国产精品| 日韩一区二区电影| 国产熟女一区二区三区四区五区| 无码精品人妻一区二区三区AV| 麻豆视传媒一区二区三区| 亚洲国产成人精品无码一区二区| 亚洲av无码片vr一区二区三区 | 亚洲日韩国产精品第一页一区| 国产波霸爆乳一区二区| 久久青青草原一区二区| 国产精品无码一区二区三区免费| 国产福利微拍精品一区二区 | 一区二区三区午夜| 无码一区二区三区中文字幕|