之前 你不知道Python多能幹 , 秒懂精通pip并快速體驗深度學習應用 和 總結Python運作代碼的幾種姿勢
等文章更多是給讀者打開認知,找找感覺建立興趣。
本篇我們直接過一遍基礎(上篇),代碼和運作圖檔都貼好了。
表達式
下面表達可以直接執行
1+1
2-2
5*5
9/3
"希望都333"
print("希望都333")
幾行代碼分别展示加減乘除。
我把結果貼出來了,友善學習:

後面兩行為字元串表達式,和函數調用表達式。
變量 & 常量
下面的第一行代碼就是把右邊的表達式的值,傳遞給變量text,或者說是指派給text。
第一行定義了變量text,同時把左邊的值賦給它。
第二行直接進行輸出。
text = "Hello, 雷學委的讀者們!"
print(text)
text = "Demo"
x, y = 1, 1
a = b = c = 333
第三行為變量重新指派(設定新值);
第四行為多個變量指派。
python沒有常量!但是我們都會默契的把常量的名字命名為大寫字母
PI = 3.1415926
print(PI)
PI = 3
我們看到第三行,PI變量被重新指派了!
是以都是默契大寫字母命名常量,碰到這種常量不要去修改它的值!
注釋
注釋就是代碼中标注,就像寫PPT在旁邊加一下備注。或者制作excel在單元格加備注一樣。
程式不會運作注釋,但是備注的注釋可以自己以後看,亦能給他人更友善閱讀你的代碼。
python的注釋使用#符号開頭或者多行注釋,如下:
#這是學委添加注釋:算出5的平方
a=5*5 #這裡也可以注釋
"""這個也算注釋
多行注釋
"""
函數
還是上面的代碼,print就是一個函數。
但是Python中函數出了調用,還能自己定義。
類似數學中f(x) = 2x + 5 表示一條直線一樣。
"""雷學委現編函數:求直線上面任意一點的縱軸值"""
def f(x):
return 2*x + 5
#函數調用
print(f(2))
定義了函數f(x)之後,我們就可以直接調用了。比如檢視x=2時,f(x)的值,那麼就調用f(2)。
這裡特别說明定義函數稍微有要求的。如下:
(為了看清楚一點,學委用了“····”代表4個空格)
def 函數名(參數1,參數2,…, 參數N):
····第一行代碼
····第二行代碼
····省略N行代碼
····最後一行代碼
是以這裡看到函數定義内部是需要鎖進的,這樣的代碼為一個整體塊。
上面的函數内部用了4個空格縮進,那麼内部每一行至少得4個空格縮進。如果碰到分支還需要再次縮進。
python解析器會安裝縮進規則掃描識别函數,如果縮進不一緻,那麼會報錯!是以要麼4個空格縮進,要麼2個空格(學委看過的開源python架構都是4個空格的)。
保留關鍵字
保留是什麼意思?
看看下圖,用and命名變量,程式直接報錯!
Python内不允許使用下面的單詞作為變量名
這些詞就像漢字拆解出來的筆畫一樣,不允許被用來重新定義!
反正大把命名的詞彙,别硬杠上面的!
标準資料類型
Numbers (多種數字類型)
String(字元串)
List (數組)
Tuple(元組)
Dictionary(字典)
數字類型
整型數(不像其他語言,python隻有一個整數類型,包括了長整型)
浮點數( 其實這個就是帶小數點的數)
複數(這個還是數學課本中的複數)
我們把形如a+bi(a,b均為實數)的數稱為複數,其中a稱為實部,b稱為虛部,i稱為虛數機關。
不用都說,直接展示一下:
zhengshu = 123
zhengshu = -12345
print(zhengshu)
fudianshu = 123.1323
fudianshu = -123.34234
print(fudianshu)
fushu = 1234j
fushu = -1 + 143.3j
print(fushu)
看完後,直接複制貼到終端運作:
這裡需要注意的是:python3中隻有一個整型類型int,不像Java,當然python2是區分了int和long類型。這樣在python3中,int類型的整數可以認為範圍無限大(如果記憶體也跟着無限制的話)。
字元串類型
字元串就是多個字元串在一起被引号(單引号/雙引号/三引号)括起來。
比如text=“hello” 那就是把多給字元“h",“e”,“l”,“l”,"o"一個接一個串起來。
我們看看下面的代碼,直接運作比較直覺。
text1='hello'
text2="Hello"
text3="""學委展示多行文本!
第二行
"""
text1
text2
text3
字元串其他操作
text="abcde12345"
text[0]
text[2:5]
text[2:]
print(text * 2) #列印2兩次
print("Hello" + text)
text由于10個字元串起來。
簡單了解,第二行‘[‘和‘]’,這一對中括号,是python操作字元串擷取子串的。
效果如下:
基本上比較簡單,唯一注意的就是字元串的下标是從0開始的。
數組
如果我們把上面的字元串‘粗暴地’看作一個字元數組的話,那麼我們這裡說的數組更加寬松。
它的元素可以是字元串,整數,浮點數等。
比如下面的代碼:
list1 = ['1','2','3','4','5']
list2 = ['雷學委代碼', 12345, 2.333, 5-4j]
list3 = []
list1
list2
list3
截取獲得局部數組
類似于字元串擷取子串,數組也可以通過‘[:]'符号來擷取:
list1 = ['1','2','3','4','5']
list2 = ['abc', 'cde']
list1[0]
list1[1:3] #擷取第二到第四個位置之前的元素為新的數組
print(list1 * 2) #元素複制一份追加後面排成一個新的數組
print(list1 + list2) #數組的加法
運作效果如下:
元組Tuple
元組Tuple是另一種系列資料,跟數組很像。但是外部用圓括号包圍,内部元素用逗号隔開。
而且元組是不允許修改,也就是可以當做隻讀數組。
tp1 = (1,2,3)
tp2 = ('abc', 123)
tp1
tp2
print(tp2 *2)
print(tp1 + tp2)
沒騙你,tuple類型隻讀的。
這裡補充一下數組的一個追加資料的方法append。(删除怎麼做,讀者可以自己想想看)。
但是tuple類型明顯沒有支援這個操作。如下圖:
字典Dictionary
字典類型,比較形象,就像字典一樣,可以通過索引快速找到内容。
比如某個字典隻有三個詞索引映射情況如下:
a -> 吖
b -> 呗
c -> 吃
所有它具有(索引-> 目标值) 這種結構。(玩過Scala的朋友就知道,scala寫一個類似索引的結構很直覺)
dict = {}
dict['a'] = '吖' #設定字典索引‘a'的值為’吖‘
dict['b'] = '呗'
dict['c'] = '吃'
dict
print(dict['a']) #查找索引'a'的值
print(dict['b'])
print(dict['c'])
"""學委這裡展示了一個毫無意義的字典,隻有三個詞"""
執行效果如下:
最後思考一下
上面是比較輕松的學習,都是直接貼代碼到終端就可以運作看效果了。
現在來個小問題:
def f(x):
return x*x
#請問下面是幾次函數調用?
#調用函數就輸入:f(2), 調用了f函數,參數為2.
#下面調用了print函數,參數為f(2)
print(f(2))
下篇連結:
多圖速成Python基礎文法下篇。