Jupyter排版:https://www.cnblogs.com/dotnetcrazy/p/9102030.html
彙總系列:https://www.cnblogs.com/dunitian/p/4822808.html#ai
VSCode設定python3的開發環境(linux下預設是python2)https://www.cnblogs.com/dotnetcrazy/p/9095793.html
線上示範:http://nbviewer.jupyter.org/github/lotapp/BaseCode/blob/master/python/notebook/1.POP/1.base/01.helloworld.ipynb
歡迎提出更簡單的文法~(文章中案例有兩個福利哦,一個是養生,一個是人工智能[ 密碼:fqif])
複習C#基礎請看附錄2:https://www.cnblogs.com/dotnetcrazy/p/9102030.html#csharp
先說下感覺,python的程式設計有點JavaScript的感覺(比如:'和“有時候不差別),又感覺像外國版的易語言,整個過程像讀書一樣,比如一個元素不在清單之中==> for item not in lists。使用它做個大點的項目一定要先規定好程式設計風格,不然能讓人崩潰的。先不深究,後面會繼續深究。。。(Python2我就不講了,官方推薦使用Python3)
0.命名規則
Python官方是推薦使用_來間隔單詞,但一般開發人員都是以各自主語言的命名來定義的,這個就各人愛好了,不過團隊一定要統一。 标示符由字母、下劃線和數字組成,且數字不能開頭(這個基本上都一樣)注意:辨別符是區分大小寫的![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) 命名規則,總的原則就是見名知意,一般都是駝峰命名法,純Python的話推薦用_連接配接單詞 擴充:Python的關鍵詞可以自己列印一下:![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧)
1.注釋
python:#注釋一行,三個單引号或者三個雙引号注釋多行:'''XXX'''或者"""XXXX"""(一般用#就夠了,有點像shell腳本的感覺) python輸出就直接print即可,C是printf(不要搞混哦)C、Java、Net都是//注釋一行,/**/注釋多行![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) ![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧)
2.變量
python定義變量比較牛逼,直接寫變量名即可,句子後面不用加分号,eg:name="小明"netcore,可以用var來進行類型推斷,eg:var name="小明";![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) ![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧)
3.輸入輸出:<code>r''</code>表示<code>''</code>内部的字元串預設不轉義
換行輸出,不換行輸出:(\n使用這個就不說了,它們和C都是一樣的) python:print("dnt.dkill.net/now",end='') #預設end='\n' (' 和 " 随意)netcore: Console.Write Console.WriteLine![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) ------------------------------------------------------------------------------------- python輸出多個重複字元,不需要自己手打N個*或者for循環輸出多個重複字元,eg:print("x"*10)![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) 如果你不太确定應該用什麼,<code>%s</code>永遠起作用,它會把任何資料類型轉換為字元串![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧)
4.類型轉換+算術運算符
python:類型(值),eg:int(),long(),float(),str()...等等(Python沒有double類型哦~)【擴:轉換成16進制:hex()、轉換為8進制:oct()】netcore:該案例推薦使用 int.TryParse,我這邊就用常用的Convert系列了【支援類型比較多】 Convert.ToInt64(),Convert.ToDouble(),Convert.ToString()![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) 算術運算符程式設計語言基本上差不多,Python多了個 // 取商(%是取餘)和 幂**,來個案例:![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) netcore(C#常用數學方法都在Match類中)![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) += -= *= /= %= **= //= 這些就不用詳說了吧?(舉個例子:c += a 等效于 c = c + a)![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧)
5.if else
說Python像外國版的易語言,這邊就可以看出來一點了,先說說Python的邏輯運算符==》與and 或or 非not,這個倒是跟C、C#、Java等大大不同,如果再結合Python命名規則就感覺在閱讀文章一樣 關系運算符和其他語言基本上差不多(== != <> > < >= <=),就一點不一樣:也可以用<> 來個if else基礎文法:括号可加可不加,但是記得加:。不用大括号,但是if裡面的代碼注意縮進netcore:if或者else下面是單行代碼可以不用寫括号![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) 再來個嵌套的:注意哦~else if 在python裡面簡寫成了:elif![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) netcore:單行代碼可以不用寫括号![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) ![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧)
6.while
直接來個案例: python裡面沒有++ 和 --,這點的确用的有點小不友善,擴充部分有相關說明netcore![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) ![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧)
7.for
python的for循環,類似于js裡面的for in 以及C#裡面的foreachnetcore: foreach (var i in name)![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) ![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧)
------------------------------------------------------------------------------------------------------
老規矩,來個擴充:switch(這個目前不用掌握,看看就好,後面會繼續探讨的)
Python沒有 ++/-- 參考文章(點我) python 中,變量是以内容為基準而不是像 c 中以變量名為基準,是以隻要你的數字内容是5,不管你起什麼名字,這個變量的 ID 是相同的,同時也就說明了 python 中一個變量可以以多個名稱通路如上例,a 和 b 都是 5,當你++改變了 a 時,b 也會跟着變,這當然不是我們希望的。so,正确的自增操作應該 a += 1,通過 id() 觀察可知,id 值變化了,即 a 已經是新值的名稱 for的擴充(一般不太用)官方參考:https://docs.python.org/3/reference/compound_stmts.html#the-for-statement![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧) 圖檔出處:https://www.cnblogs.com/dspace/p/6622799.html Python 沒有 switch / case 語句。為了實作它,我們可以使用字典映射: # 官方的解釋說,“用if... elif... elif... else序列很容易來實作 switch / case 語句”。而且可以使用函數字典映射和類的排程方法。![]()
Python3 與 NetCore 基礎文法對比(就當Python和C#基礎的普及吧)
這段代碼類似于:
在 Python 中字典映射也可以包含函數或者 lambda 表達式:
類的排程方法: 如果在一個類中,不确定要使用哪種方法,可以用一個排程方法在運作的時候來确定。
https://docs.python.org/3.6/faq/design.html#why-isn-t-there-a-switch-or-case-statement-in-python
Python設計相關的為什麼,可以參考官方文檔:https://docs.python.org/3.6/faq/design.html
附錄2:C#基礎(逆天上學那會做的筆記)
易忘知識點(點) C#基礎彙總(點) 異常概況系(點) CodeBase ~ POP CodeBase ~ OOP
作者:毒逆天
出處:https://www.cnblogs.com/dotnetcrazy
打賞:<b>18i4JpL6g54yAPAefdtgqwRrZ43YJwAV5z</b>
本文版權歸作者和部落格園共有。歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接!