菜狗的python之路(二)——與C類比(運算)

由於菜狗本人在大一時有接觸一些C語言的基礎編程(皮毛),我就以類比的思想,開始對python的編程思想進行初步的、感性的理解。

所謂“巨人”,一方面指的是某區塊鏈韭菜商,經朋友推薦得到了他的一本關於自學python的書 Github鏈接,白話文較爲易懂,方便我進行類比。

當然,還有最爲權威的官方教程。Python Tutorial

接下來我的絕大部分瞎胡扯 思考和討論,都跟上面兩個教程有着脫不開的關係

  • 從結構上來看,一切的計算機程序,都由且只由兩個最基本的成分構成:
    1、運算(Evaluation)
    2、流程控制(Control Flow)

那麼就從運算開始

運算

1.布爾運算

計算器和計算機都是電子設備,但,計算機更爲強大的原因,用通俗的說法就是它 “可編程”(Programable) —— 而所謂可編程的核心就是_布爾運算_及其相應的流程控制(Control Flow);沒有布爾運算能力就沒有辦法做_流程控制_;沒有流程控制就只能 “按順序執行”,那就顯得 “很不智能”……

和C語言輸出0或1的邏輯返回值不同,Python輸出True和False(嚴格區分大小寫)
  • 邏輯&布爾運算符

一、除了等於、大於、小於之外,Python 還有一個邏輯操作符,in'a' in 'basic'這個表達式 用自然語言描述就是:
“‘a’ 存在於’basic’ 這個字符串之中嗎?”(屬於關係)

二、較爲直白地,Python使用了and、or、not來表示布爾運算符

2.值的運算

在 Python 中每個函數都有_返回值_,即便你在定義一個函數的時候沒有設定返回值,它也會加上默認的返回值 None……(請注意 None 的大小寫!)

一、多出了冪運算的支持,用**表示,且優先級最高
二、多出了對複數的支持

貼一個書裏的有趣小程序:

def f():
    pass
print(f())        # 輸出 f() 這個函數被調用後的返回值,None
print(print(f())) # 這一行最外圍的 print() 調用了一次 print(f()),所以輸出一個 None,
                  # 而後再輸出這次調用的返回值,所以又輸出一次 None

輸出結果是:
None
None
None

沒有就是沒有(None),也不給你胡言亂語,函數嵌套目前顯得也很簡潔。

3.字符串運算

在pycharm的白給課程中,我見識到了python在處理字符串上的強大(有可能是C語言學的太菜沒發現)

針對字符串,有三種操作:
拼接:+ 和 ’ '(後者是空格)
拷貝數乘:*
邏輯運算:in、 not in;以及, <、<=、>、>=、!=、==

3.a.列表運算

列表是字符串的高維形式,遵循同樣的運算法則

其餘數值類型的運算暫且略過

發佈了6 篇原創文章 · 獲贊 5 · 訪問量 4176
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章