1. 程式人生 > >Python3 與 NetCore 基礎語法對比(就當Python和C#基礎的普及吧)

Python3 與 NetCore 基礎語法對比(就當Python和C#基礎的普及吧)

歡迎提出更簡單的語法~(文章中案例有兩個福利哦,一個是養生,一個是人工智慧[ 密碼:fqif])

先說下感覺,python的程式設計有點JavaScript的感覺(比如:'和“有時候不區別),又感覺像外國版的易語言,整個過程像讀書一樣,比如一個元素不在列表之中==> for item not in lists。使用它做個大點的專案一定要先規定好程式設計風格,不然能讓人崩潰的。先不深究,後面會繼續深究。。。(Python2我就不講了,官方推薦使用Python3

0.命名規則

Python官方是推薦使用_來間隔單詞,但一般開發人員都是以各自主語言的命名來定義的,這個就各人愛好了,不過團隊一定要統一。

標示符字母、下劃線和數字組成,且數字不能開頭(這個基本上都一樣)注意識別符號是區分大小寫的

命名規則,總的原則就是見名知意,一般都是駝峰命名法,純Python的話推薦用_連線單詞

 擴充:Python的關鍵詞可以自己列印一下:

['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']

1.註釋

python:#註釋一行三個單引號或者三個雙引號註釋多行'''XXX'''或者"""XXXX"""(一般用#就夠了,有點像shell指令碼的感覺)

python輸出就直接print即可,C是printf(不要搞混哦)

C、Java、Net都是//註釋一行,/**/註釋多行

2.變數

 python定義變數比較牛逼,直接寫變數名即可,句子後面不用加分號,eg:name="小明"

netcore,可以用var來進行型別推斷,eg:var name="小明";

3.輸入輸出:r''表示''內部的字串預設不轉義

換行輸出,不換行輸出:(\n

使用這個就不說了,它們和C都是一樣的)

python:print("dnt.dkill.net/now",end='') #預設end='\n' (' 和 " 隨意)

netcore: Console.Write Console.WriteLine

-------------------------------------------------------------------------------------

python輸出多個重複字元,不需要自己手打N個*或者for迴圈輸出多個重複字元,eg:print("x"*10)

如果你不太確定應該用什麼,%s永遠起作用,它會把任何資料型別轉換為字串

# %c    字元
# %s    通過str() 字串轉換來格式化
# %o    八進位制整數
# %x    十六進位制整數(小寫字母)
# %X    十六進位制整數(大寫字母)
# %e    指數(小寫'e')
# %E    指數(大寫“E”)
# %f    浮點實數
# %g    %f和%e 的簡寫
# %G    %f和%E的簡寫

下面來個輸入輸出的簡單的案例吧:列印一張名片,Name:毒逆天,Gender:男

Python:print("Name:%s,Gender:%s"%(name,gender))【注意引號後面沒有,哦】

NetCore:Console.WriteLine($"Name:{name},Gender:{gender}");

4.型別轉換+算術運算子

python:型別(值),eg:int(),long(),float(),str()...等等(Python沒有double型別哦~)【:轉換成16進位制:hex()、轉換為8進位制:oct()

netcore:該案例推薦使用 int.TryParse,我這邊就用常用的Convert系列了【支援型別比較多】

Convert.ToInt64(),Convert.ToDouble(),Convert.ToString()

算術運算子程式語言基本上差不多,Python多了個 // 取商(%是取餘)和 冪**,來個案例:

netcore(C#常用數學方法都在Match類中)

+= -= *= /= %= **= //= 這些就不用詳說了吧?(舉個例子:c += a 等效於 c = c + a

5.if else

 說Python像外國版的易語言,這邊就可以看出來一點了,先說說Python的邏輯運算子==》andornot,這個倒是跟C、C#、Java等大大不同,如果再結合Python命名規則就感覺在閱讀文章一樣

 關係運算符和其他語言基本上差不多(== != <> > < >= <=),就一點不一樣:也可以用<>

來個if else基礎語法:括號可加可不加,但是記得加:。不用大括號,但是if裡面的程式碼注意縮排

netcore:if或者else下面是單行程式碼可以不用寫括號

再來個巢狀的:注意哦~else if 在python裡面簡寫成了:elif

netcore:單行程式碼可以不用寫括號

6.while

 直接來個案例:

python裡面沒有++ 和 --,這點的確用的有點小不方便,擴充套件部分有相關說明

netcore

7.for

 python的for迴圈,類似於js裡面的for in 以及C#裡面的foreach

netcore: foreach (var i in name)

------------------------------------------------------------------------------------------------------

老規矩,來個擴充套件:switch(這個目前不用掌握,看看就好,後面會繼續探討的)

Python沒有 ++/--  參考文章(點我)

python 中,變數是以內容為基準而不是像 c 中以變數名為基準,所以只要你的數字內容是5,不管你起什麼名字,這個變數的 ID 是相同的,同時也就說明了 python 中一個變數可以以多個名稱訪問

如上例,a 和 b 都是 5,當你++改變了 a 時,b 也會跟著變,這當然不是我們希望的。so,正確的自增操作應該  a += 1,通過 id() 觀察可知,id 值變化了,即 a 已經是新值的名稱

Python 沒有 switch / case 語句。為了實現它,我們可以使用字典對映:

def numbers_to_strings(argument):
    switcher = {
        0: "zero",
        1: "one",
        2: "two",
    }
    return switcher.get(argument, "nothing")

這段程式碼類似於:

function(argument){
    switch(argument) {
        case 0:
            return "zero";
        case 1:
            return "one";
        case 2:
            return "two";
        default:
            return "nothing";
    };
};
在 Python 中字典對映也可以包含函式或者 lambda 表示式
def zero():
    return "zero"
 
def one():
    return "one"
 
def numbers_to_functions_to_strings(argument):
    switcher = {
        0: zero,
        1: one,
        2: lambda: "two",
    }
    func = switcher.get(argument, lambda: "nothing")
    return func()

類的排程方法:

如果在一個類中,不確定要使用哪種方法,可以用一個排程方法在執行的時候來確定。

    class Switcher(object):
    def numbers_to_methods_to_strings(self, argument):
        method_name = 'number_' + str(argument)
        method = getattr(self, method_name, lambda: "nothing")
        return method()
 
    def number_0(self):
        return "zero"
 
    def number_1(self):
        return "one"
 
    def number_2(self):
        return "two"

附錄2:C#基礎(逆天上學那會做的筆記)

相關推薦

Python3 NetCore 基礎語法對比PythonC#基礎普及

歡迎提出更簡單的語法~(文章中案例有兩個福利哦,一個是養生,一個是人工智慧[ 密碼:fqif]) 先說下感覺,python的程式設計有點JavaScript的感覺(比如:'和“有時候不區別),又感覺像外國版的易語言,整個過程像讀書一樣,比如一個元素不在列表之中==> for ite

Python3 C# 基礎語法對比PythonC#基礎普及

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global'

Python3 NetCore 基礎語法對比List、Tuple、Dict、Set專欄

// using System; // using System.Collections.Generic; // using System.Linq; // namespace aibaseConsole // { // public static class Program //

Python3 C# 基礎語法對比List、Tuple、Dict、Set專欄

Help on class set in module builtins: class set(object) | set() -> new empty set object | set(iterable) -> new set object | | Build

Python3 NetCore 基礎語法對比String專欄

using System; using System.Linq; namespace aibaseConsole { public static class Program { private static void Main() {

Python3 NetCore 基礎語法對比Function專欄

using System; using System.Collections.Generic; namespace _6func { class Program { static void Main(string[] args) {

Python3 C# 基礎語法對比String專欄

using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; public static partial class ValidationHelp

Python3 C# 基礎語法對比Function專欄

主要是普及一下Python基礎語法,對比著Net,新手更容易上手。 對比學習很有意思的,尤其是一些底層和思路 本來感覺函式要說的地方沒多少,細細一規劃,發現~還是單獨拉出一篇說說吧 之後就進入面向物件了,函式還是有必要了解一下的,不然到時候Class裡面的方法定義又要說了。 演示的

微信小程序系統教程2018版+python版+c#版+Java版

微信小程序微信小程序系統教程(python版+c#版+Java版)課程觀看地址:http://www.xuetuwuyou.com/user/851課程出自學途無憂網:http://www.xuetuwuyou.com講師:九寶老師 課程1、微信小程序系統教程[高級階段]——python版小程序支付課程2、微

這些資料java、pythonC++、linux等等統統拿走!

推薦閱讀: 好的學習資料當然要分享 第五部分,資料包,限時領取 領取方式,關注“資料線上”或掃一掃,回覆“python視訊”,即可領取60集python視訊資料包 第一部分,資料來自知乎 作者:彭泉鑫,連結地址 推薦Ful

css基礎語法選擇器css導入方式

數字 mic link html clas ref height font 兼容 頁面中,所有的CSS代碼,需要寫入到<style></style>標簽中。style標簽的type屬性應該選擇text/css,但是type屬性可以省略。 CS

python基礎語法總結-- pythonOOP面向物件特性

python常用系統函式方法與模組 python基礎語法總結(一)-- python型別轉換函式+檔案讀寫 python基礎語法總結(二)-- 函式function python基礎語法總結(三)-- 數與字串 python基礎語法總結(四)-- list列表

python基礎語法總結-- 數字串

python常用系統函式方法與模組 python基礎語法總結(一)-- python型別轉換函式+檔案讀寫 python基礎語法總結(二)-- 函式function python基礎語法總結(三)-- 數與字串 python基礎語法總結(四)-- list列表

課後筆記一:Python基礎語法介紹1

Python3.6.5我們總是找借口說還有時間去做某事,或者完成某事,結果總是不了了之。比如拖到現在才寫第一課聽課筆記。 第一節課,老師對以下內容做了分享,大致分為 環境配置 開發平臺:Mac OS Version 10.13.2 老師講課的是在Windows 10 我選擇在Mac OS進行Pyth

python3:用程式碼證明dict比list快像飛機蝸牛

dict 速度快的原因是應用的雜湊演算法,是直接匹配的方式,list需要遍歷,當資料量大的時候dict 佔優勢. 雜湊還有一個好處就是不會隨著資料量變大而變慢. 下邊我用一段程式碼證明.有不明白的地方要看我的註釋. from random import randint de

手繪碼繪的對比靜態

在這次對比用程式碼和用手繪創作靜態繪畫的實驗中,選擇的程式設計工具是p5.js,p5.js語法和使用上較為簡單,入門很快,繪製的作品為一個簡單的卡通小黃人。下面按要求從思路、技術、創作體驗、創作偏好等方面比較一下二者,以及它們的異同。 碼繪程式碼如下: function setup()

Swift基礎語法簡介——你的第一行Swift程式碼

  學習一門新的語言,首先應該從該門語言的基礎語法入手,掌握基本語法的使用規則,先保證能寫簡單的邏輯,能閱讀簡單的程式碼。之後,通過完成幾個簡單的需求,實際寫程式碼感受並強化一下相關語法。並且,在具體寫程式碼的過程中強化語法的一些細節以及相關的原理性的知識。本系列文章會盡量避

Swift基礎語法簡介——元組

  元組把多個值合併成單一的複合型的值。元組內的值可以是任何型別,而且可以不必是同一型別。   元組是關係資料庫中的基本概念,關係是一張表,表中的每行(即資料庫中的每條記錄)就是一個元組,每列就是一個屬性。在二維表裡,元組也成為行。   例如,(404, “Not Fou

python基礎語法總結-- 字典dic + 元組tuple

目錄 一. 字典 1. 讀取 2. 新增 3. 修改 4. 刪除 5. 清空 6. 複製文字 7 遍歷 a. 遍歷鍵值對 b. 遍歷鍵 c. 遍歷值 二. 元組 一. 字典 字典型別類似於鍵值對key-value的一種資料結構,其中鍵不能重

python基礎語法總結-- list列表

python常用系統函式方法與模組 python基礎語法總結(一)-- python型別轉換函式+檔案讀寫 python基礎語法總結(二)-- 函式function python基礎語法總結(三)-- 數與字串 python基礎語法總結(四)-- list列表