天天看點

多圖速成Python基礎文法上篇表達式變量 & 常量函數最後思考一下

之前 你不知道Python多能幹 秒懂精通pip并快速體驗深度學習應用 總結Python運作代碼的幾種姿勢

等文章更多是給讀者打開認知,找找感覺建立興趣。

本篇我們直接過一遍基礎(上篇),代碼和運作圖檔都貼好了。

表達式

下面表達可以直接執行

1+1
2-2
5*5
9/3
"希望都333"
print("希望都333")
      

幾行代碼分别展示加減乘除。

我把結果貼出來了,友善學習:

多圖速成Python基礎文法上篇表達式變量 & 常量函數最後思考一下

後面兩行為字元串表達式,和函數調用表達式。

變量 & 常量

下面的第一行代碼就是把右邊的表達式的值,傳遞給變量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基礎文法上篇表達式變量 & 常量函數最後思考一下

Python内不允許使用下面的單詞作為變量名

多圖速成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)
      

看完後,直接複制貼到終端運作:

多圖速成Python基礎文法上篇表達式變量 & 常量函數最後思考一下

這裡需要注意的是:python3中隻有一個整型類型int,不像Java,當然python2是區分了int和long類型。這樣在python3中,int類型的整數可以認為範圍無限大(如果記憶體也跟着無限制的話)。

字元串類型

字元串就是多個字元串在一起被引号(單引号/雙引号/三引号)括起來。

比如text=“hello” 那就是把多給字元“h",“e”,“l”,“l”,"o"一個接一個串起來。

我們看看下面的代碼,直接運作比較直覺。

text1='hello'
text2="Hello"
text3="""學委展示多行文本!
第二行
"""
text1
text2
text3
      
多圖速成Python基礎文法上篇表達式變量 & 常量函數最後思考一下

字元串其他操作

text="abcde12345"
text[0]
text[2:5]
text[2:]
print(text * 2) #列印2兩次
print("Hello" + text)
      

text由于10個字元串起來。

簡單了解,第二行‘[‘和‘]’,這一對中括号,是python操作字元串擷取子串的。

效果如下:

多圖速成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) #數組的加法
      

運作效果如下:

多圖速成Python基礎文法上篇表達式變量 & 常量函數最後思考一下

元組Tuple

元組Tuple是另一種系列資料,跟數組很像。但是外部用圓括号包圍,内部元素用逗号隔開。

而且元組是不允許修改,也就是可以當做隻讀數組。

tp1 = (1,2,3)
tp2 = ('abc', 123)
tp1
tp2
print(tp2 *2) 
print(tp1 + tp2)
      
多圖速成Python基礎文法上篇表達式變量 & 常量函數最後思考一下

沒騙你,tuple類型隻讀的。

這裡補充一下數組的一個追加資料的方法append。(删除怎麼做,讀者可以自己想想看)。

但是tuple類型明顯沒有支援這個操作。如下圖:

多圖速成Python基礎文法上篇表達式變量 & 常量函數最後思考一下

字典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'])
"""學委這裡展示了一個毫無意義的字典,隻有三個詞"""
      

執行效果如下:

多圖速成Python基礎文法上篇表達式變量 & 常量函數最後思考一下

最後思考一下

上面是比較輕松的學習,都是直接貼代碼到終端就可以運作看效果了。

現在來個小問題:

def f(x):
    return x*x

#請問下面是幾次函數調用?
#調用函數就輸入:f(2), 調用了f函數,參數為2.
#下面調用了print函數,參數為f(2)
print(f(2))
      

下篇連結: 

多圖速成Python基礎文法下篇

 。