整合營銷服務商

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

          免費咨詢熱線:

          JavaScript基礎知識16-分支語句

          嘍,大家好,我是雷工。

          今天學習JavaScript基礎知識的分支語句,以下為學習筆記。

          1、程序三大流程控制語句

          ○寫幾句就從上往下執(zhí)行幾句,這種叫做順序結構;

          ○有時要根據(jù)條件選擇執(zhí)行代碼,這種叫分支結構;

          ○某段代碼被重復執(zhí)行,就叫循環(huán)結構;

          2、分支語句

          ○分支語句可以讓我們有選擇性的執(zhí)行想要執(zhí)行的代碼

          ○分支語句包含:

          → if分支語句

          → 三元運算符

          → switch語句

          2.1、if分支語句

          ● if語句有三種使用:單分支、雙分支、多分支

          ● 單條件分支語句:程序如果執(zhí)行的時候,如果條件成立就執(zhí)行某一行代碼,如果條件不成立則執(zhí)行其他代碼

          使用語法:

          if(條件)
          {
          	 滿足條件要執(zhí)行的代碼
          }

          ? 小括號內(nèi)的條件為true時,進入大括號里執(zhí)行代碼。

          ? 小括號內(nèi)的結果若不是布爾類型時,會發(fā)生隱式轉換轉換為布爾類型。

          ? 如果大括號內(nèi)只有一個語句,大括號可以省略,但是,一般不提倡這么做~

          雙分支if語法

          if(條件)
          {
           	滿足條件要執(zhí)行的代碼
          }
          else
          {
           	不滿足條件時要執(zhí)行的代碼
          }

          語法解釋:

          1>程序先判斷if中的條件是否成立(true),如果條件成立,則執(zhí)行if后面對應的代碼,else中的代碼不會執(zhí)行。

          2>如果if中的條件不成立(False),程序只執(zhí)行else后{}中的代碼,if后{}內(nèi)的代碼不會執(zhí)行。

          多條件分支語句if:

          應用場景:當有多個結果的時候,比如學習成績可以分為:優(yōu)秀、良好、及格、不及格四個選項。

          語法:

          if(條件1)
          {
           滿足條件1要執(zhí)行的代碼1
          }
          else if(條件2)
          {
           滿足條件2要執(zhí)行的代碼2
          }
          else if(條件3)
          {
           滿足條件3要執(zhí)行的代碼3
          }
          else
          {
           以上條件均不滿足時執(zhí)行代碼n
          }

          語法說明:

          ? 先判斷條件1,若滿足條件1就執(zhí)行代碼1,其他代碼統(tǒng)統(tǒng)不執(zhí)行;

          ? 若不滿足則按順序向下判斷條件2,滿足條件2執(zhí)行代碼2,其他代碼不執(zhí)行;

          ? 若依然不滿足繼續(xù)往下判斷,依次類推 ;

          ? 若以上條件都不滿足,執(zhí)行else里的代碼n ;

          ? 注:可以根據(jù)實際需要寫N個條件,但這里演示只寫2個;

          單條件分支語句和多條件分支語句總結:

          a)不管是單條件分支語句,還是多條件分支語句,else都可以省略(前提else中沒有代碼)

          b)條件分支語句,如果只有一行代碼,則{}可以省略。

          例:if(3>0)alert("雷工筆記");

          c)分支語句可以相互嵌套。

          2.2、三元表達式

          就是單條件分支語句的另外一種寫法

          語法:

          條件 ? 代碼1 : 代碼2;

          語法說明:

          a)判斷條件的真假,如果為真,則執(zhí)行代碼1,后面的代碼2不執(zhí)行;

          b)如果條件不成立,則執(zhí)行代碼2,前面的代碼1不執(zhí)行;

          ● 一般用來取值

          2.3、switch分支語句

          switch 分支語句就是多條件分支語句的另外一種寫法

          語法:

          switch(數(shù)據(jù)/變量)
          {
          	 case 值1:
          	 代碼1;
          	 break;
              
          	 case 值2:
           	代碼2;
          	 break;
              
          	 case 值3:
           	代碼3;
           	break;
              
           	default:
          	 代碼n;
          	 break;
          }

          釋義:

          ? 找到跟小括號里數(shù)據(jù)/變量全等的case值,并執(zhí)行里面對應的代碼

          ? 若沒有全等 === 的則執(zhí)行 default里面的代碼

          ? 例:數(shù)據(jù)若跟值1全等,則執(zhí)行代碼1

          注意事項:

          1>. switch case語句一般用于等值判斷,不適合于區(qū)間判斷;

          2>. switch case一般需要配合break關鍵字使用 沒有break會造成case穿透(default后面的break可以省略);

          3>.什么情況下使用switch語法?什么情況下使用多條件分支if語句?

          a)在任何情況下都可以使用switch語句或者多條件分支語句;

          b)如果變量的值是某些固定的值,推薦使用switch;

          示例1:一年有12個月,1月-12月;

          示例2:一年有4個季節(jié),春,夏,秋,冬

          c)如果變量的值是一個范圍,推薦使用if多分支語句

          示例:

          者:Roman Orac
          魚羊 編譯整理
          量子位 報道 | 公眾號 QbitAI

          數(shù)據(jù)分析,如何能錯過 Pandas

          現(xiàn)在,數(shù)據(jù)科學家 Roman Orac 分享了他在工作中相見恨晚的 Pandas 使用技巧。

          了解了這些技巧,能讓你在學習、使用 Pandas 的時候更加高效。

          話不多說,一起學習一下~

          Pandas實用技巧

          用 Pandas 做數(shù)據(jù)分析,最大的亮點當屬 DataFrame。不過,在展示成果的時候,常常需要把 DataFrame 轉成另一種格式。

          Pandas 在這一點上其實十分友好,只需添加一行代碼。

          DataFrame 轉 HTML

          如果你需要用 HTML 發(fā)送自動報告,那么 to_html 函數(shù)了解一下。

          比如,我們先設定這樣一個 DataFrame:

          import numpy as np
          import pandas as pd
          import random
          
          n = 10
          df = pd.DataFrame(
              {
                  "col1": np.random.random_sample(n),
                  "col2": np.random.random_sample(n),
                  "col3": [[random.randint(0, 10) for _ in range(random.randint(3, 5))] for _ in range(n)],
              }
          )

          用上 to_html,就可以將表格轉入 html 文件:

          df_html = df.to_html()
          with open(‘a(chǎn)nalysis.html’, ‘w’) as f: f.write(df_html)

          與之配套的,是 read_html 函數(shù),可以將 HTML 轉回 DataFrame。

          DataFrame 轉 LaTeX

          如果你還沒用過 LaTeX 寫論文,強烈建議嘗試一下。

          要把 DataFrame 值轉成 LaTeX 表格,也是一個函數(shù)就搞定了:

          df.to_latex()

          DataFrame 轉 Markdown

          如果你想把代碼放到 GitHub 上,需要寫個 README。

          這時候,你可能需要把 DataFrame 轉成 Markdown 格式。

          Pandas 同樣為你考慮到了這一點:

          print(df.to_markdown())

          注:這里還需要 tabulate 庫

          DataFrame 轉 Excel

          說到這里,給同學們提一個小問題:導師/老板/客戶要你提供 Excel 格式的數(shù)據(jù),你該怎么做?

          當然是——

          df.to_excel(‘a(chǎn)nalysis.xlsx’)

          需要注意的是,如果你沒有安裝過 xlwtopenpyxl 這兩個工具包,需要先安裝一下。

          另外,跟 HTML 一樣,這里也有一個配套函數(shù):read_excel,用來將excel數(shù)據(jù)導入pandas DataFrame。

          DataFrame 轉字符串

          轉成字符串,當然也沒問題:

          df.to_string()

          5個鮮為人知的Pandas技巧

          此前,Roman Orac 還曾分享過 5 個他覺得十分好用,但大家可能沒有那么熟悉的 Pandas 技巧。

          1、data_range

          從外部 API 或數(shù)據(jù)庫獲取數(shù)據(jù)時,需要多次指定時間范圍。

          Pandas 的 data_range 覆蓋了這一需求。

          import pandas as pd
          date_from = “2019-01-01”
          date_to = “2019-01-12”
          date_range = pd.date_range(date_from, date_to, freq=”D”)
          print(date_range)

          freq = “D”/“M”/“Y”,該函數(shù)就會分別返回按天、月、年遞增的日期。

          2、合并數(shù)據(jù)

          當你有一個名為left的DataFrame:

          和名為right的DataFrame:

          想通過關鍵字“key”把它們整合到一起:

          實現(xiàn)的代碼是:

          df_merge = left.merge(right, on = ‘key’, how = ‘left’, indicator = True)

          3、最近合并(Nearest merge)

          在處理股票或者加密貨幣這樣的財務數(shù)據(jù)時,價格會隨著實際交易變化。

          針對這樣的數(shù)據(jù),Pandas提供了一個好用的功能,merge_asof

          該功能可以通過最近的key(比如時間戳)合并DataFrame。

          舉個例子,你有一個存儲報價信息的DataFrame。

          還有一個存儲交易信息的DataFrame。

          現(xiàn)在,你需要把兩個DataFrame中對應的信息合并起來。

          最新報價和交易之間可能有10毫秒的延遲,或者沒有報價,在進行合并時,就可以用上 merge_asof。

          pd.merge_asof(trades, quotes, on=”timestamp”, by=’ticker’, tolerance=pd.Timedelta(‘10ms’), direction=‘backward’)

          4、創(chuàng)建Excel報告

          在Pandas中,可以直接用DataFrame創(chuàng)建Excel報告。

          import numpy as np
          import pandas as pd
          
          df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=["a", "b", "c"])
          
          report_name = 'example_report.xlsx'
          sheet_name = 'Sheet1'
          writer = pd.ExcelWriter(report_name, engine='xlsxwriter')
          df.to_excel(writer, sheet_name=sheet_name, index=False)

          不只是數(shù)據(jù),還可以添加圖表。

          # define the workbook
          workbook = writer.book
          worksheet = writer.sheets[sheet_name]
          # create a chart line object
          chart = workbook.add_chart({'type': 'line'})
          # configure the series of the chart from the spreadsheet
          # using a list of values instead of category/value formulas:
          #     [sheetname, first_row, first_col, last_row, last_col]
          chart.add_series({
              'categories': [sheet_name, 1, 0, 3, 0],
              'values':     [sheet_name, 1, 1, 3, 1],
          })
          # configure the chart axes
          chart.set_x_axis({'name': 'Index', 'position_axis': 'on_tick'})
          chart.set_y_axis({'name': 'Value', 'major_gridlines': {'visible': False}})
          # place the chart on the worksheet
          worksheet.insert_chart('E2', chart)
          # output the excel file
          writer.save()

          注:這里需要 XlsxWriter 庫

          5、節(jié)省磁盤空間

          Pandas在保存數(shù)據(jù)集時,可以對其進行壓縮,其后以壓縮格式進行讀取。

          先搞一個 300MB 的 DataFrame,把它存成 csv。

          df = pd.DataFrame(pd.np.random.randn(50000,300))
          df.to_csv(‘random_data.csv’, index=False)

          壓縮一下試試:

          df.to_csv(‘random_data.gz’, compression=’gzip’, index=False)

          文件就變成了136MB。

          gzip壓縮文件可以直接讀取:

          df = pd.read_csv(‘random_data.gz’)

          這一份Pandas技巧筆記,暫且說到這里。各位同學都做好筆記了嗎?

          Talk is cheap, show me the code。學會了,就用起來吧

          — 完 —

          量子位 QbitAI · 頭條號簽約

          關注我們,第一時間獲知前沿科技動態(tài)

          器之心報道

          機器之心編輯部

          只要你有純文本編輯器,加上一條語句,瞬間它就可以成為 Markdown 編輯器。


          Markdeep 是一個用來寫純文本的插件,它能以 Markdown 的語法與渲染方式純文本,并在網(wǎng)頁上展示。同時,除了 Markdown 語法,Markdeep 還額外支持圖表、數(shù)學方程等擴展能力。

          項目主頁:https://casual-effects.com/markdeep/

          我們先看看效果,如下左邊是純文本編輯器的編輯頁面,右邊是在瀏覽器上的渲染效果:


          Markdeep 非常容易使用,它也不需要安裝插件或聯(lián)網(wǎng)。如上所示只要在純文本最后加上「<!—Markdeep→」那一行的表達式,它就可以變成一個地道的 Markdown 編輯器。Markdeep 不需要額外安裝任何東西,也不需要導出、編譯等雜七雜八的過程。

          看著 Markdeep 很簡單,但它的功能卻不少,一點也不遜色于 Typora 等正統(tǒng)的 Markdown 編輯器。不論我們是寫項目的 README 文檔、實驗報告,還是要做 PPT 或寫論文,它都能滿足。該項目提供了很多示例,例如生成的 PPT 是什么樣的,后文會具體展示。

          開源代碼

          Markdeep 是開源的,所以可以直接下載和修改源代碼文件 markdeep.js。整個編輯器就是一個 JavaScript 腳本,上面定義了各種格式與渲染方式。作者表示,目前他正研究該如何有效降低腳本文件大小。

          用于表格處理的部分代碼,整個腳本有超過 5000 行代碼。

          腳本源碼地址:https://casual-effects.com/markdeep/latest/markdeep.js

          作者表示,這個項目本來就是一個業(yè)余項目,它并不會有完整的技術支持。不過只要提交的 Bug 足夠具體,作者都會完善它。此外,該項目還會經(jīng)常加入一些新特性,從 2015 年 10 月份的第一版,到今年 2 月份的最新版,這個編輯器已經(jīng)維護了很長時間。

          Markdeep 怎么用

          如果你需要創(chuàng)建一個 Markdeep 的文件,只需要打開任意一個文本編輯器,然后開始編輯。完成文本編輯工作后,只需要在其底部寫下一個簡單的代碼就行了。然后,將這個文檔保存為純文本文件,使用 .md.html 為擴展名。

          <!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js" charset="utf-8"></script><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js" charset="utf-8"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>

          如果你希望在源文檔中使用 Unicode,則需要在文檔頂部先加上這句話:

          <meta charset="utf-8">

          想要看看效果?你可以將文本拖入瀏覽器或雙擊它。即使網(wǎng)絡離線也可以查閱文檔。如果不想因為離線而失去格式,可以將 markdeep.min.js 文件和文檔保存在一個文件夾中。

          如果想要看看 Markdeep 原始文本,在文件 URL 最后加上「?noformat」即可。

          上手示例

          小編隨手測試了幾個典型 Markdown 語法,比如:代辦列表、自動鏈接、表格、內(nèi)聯(lián)圖片、代碼。與此同時,LaTeX 的數(shù)學表達式和圖形也能直接設計,而不需要任何插件。具體效果可參考:


          簡而言之,配備完善,對于熟悉 Markdown 的小伙伴來說,用起來會十分順手及方便。這意味著,在有網(wǎng)的情況下,隨意拎一個文本編輯器后,就再也沒有人能攔得了你使用 Markdown 了。與此同時,時時預覽效果也非常簡便,只需要在文本編輯器里修改,瀏覽器中刷新下便可呈現(xiàn)最新效果。

          Markdeep 能干什么

          只要是 Markdown 支持的,Markdeep 就能夠支持,它在業(yè)界和學術界能得到廣泛使用。如下所示,各種題材與格式的文檔都能用 Markdeep 完成:

          • API 文檔
          • 教學大綱
          • 游戲設計文件
          • 家庭作業(yè)
          • 課程 PPT
          • 軟件庫網(wǎng)站
          • 個人博客
          • 簡歷
          • 論文

          看起來 Markdeep 似乎什么都能做,項目作者同樣也展示了這些方面的效果圖:


          Markdeep 制作的 PPT。

          Markdeep 制作的個人簡歷。

          總之,除了使用方便、展示炫酷,Markdeep 的功能也是非常強大。正如其它開發(fā)者所強調(diào)的,Markdeep 是能制作簡單圖表的 Markdown 工具,它以一種「ASCII Art」的方式用純文本制作出圖形,并且不用渲染也非常明晰。


          主站蜘蛛池模板: 中文人妻av高清一区二区| 久久一区二区三区精华液使用方法| 日本不卡免费新一区二区三区| 中文字幕一区二区三区免费视频 | 亚洲一区二区三区AV无码| 一区二区三区四区免费视频| 国产精品香蕉在线一区| 精品国产一区二区三区免费| 亚洲欧美日韩国产精品一区| 奇米精品一区二区三区在线观看| 精品人妻中文av一区二区三区| 蜜芽亚洲av无码一区二区三区| 一区二区免费在线观看| 无码免费一区二区三区免费播放| 国产一区二区三区小说| 久久精品无码一区二区日韩AV| 人妻AV一区二区三区精品| 国产aⅴ精品一区二区三区久久 | 亚洲熟女乱综合一区二区| 久久精品道一区二区三区| 精品国产一区二区三区香蕉事 | 全国精品一区二区在线观看| 亚洲V无码一区二区三区四区观看 亚洲爆乳精品无码一区二区三区 亚洲爆乳无码一区二区三区 | 日本一区二区三区日本免费| 国产成人无码精品一区不卡| 日韩精品成人一区二区三区| 精品无码人妻一区二区三区品 | 免费精品一区二区三区在线观看| 国产一区二区三区免费视频 | 亚洲一区二区三区国产精品无码| 日韩精品一区二区三区在线观看l 日韩精品一区二区三区毛片 | 精品一区二区三区在线观看| 99精品一区二区三区无码吞精| 亚洲av无码天堂一区二区三区 | 精品伦精品一区二区三区视频| 国产一区二区成人| 成人日韩熟女高清视频一区| 日本精品一区二区三本中文| 99精品一区二区免费视频| 国产一区二区精品久久凹凸| 精品91一区二区三区|