學習一門編程語言,最基本的無非不過學習其變量規則、條件語句、循環語句和函數,接下來的幾節將開始記錄這些基本的語法,本節主要記錄變量規則!程序員
在說Python變量以前,先補充一下Python的輸入和輸出語句,在Python的編寫過程當中,會遇到許多的錯誤,基本的調試方法就是將中間變量打印(輸出)出來,因此說Python的輸入輸出語句十分重要,尤爲是輸出語句,必定要靈活掌握。編程
前文可能已經接觸到了輸出語句 print,實際上在Python3中它是一個內置函數(關於函數的概念以後會講),在Python常被成爲打印,具體用法以下:app
在IPyone中輸入help(print),獲得其幫助信息,若是你想要查看其餘內置函數的幫助信息,也是用這種方法哦編程語言
In [1]: help(print) Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.
能夠看到print函數的參數有value、sep、end、file、flushide
其中sep、end、file、flush都已經被賦值了,也就是說,這幾個參數都有默認值了,需不須要改要看本身的需求,而value沒有被賦予默認值,也就是說,你必需要給value賦值才行,若是你仍是不明白,來看例子:函數
因爲value參數位於print函數的第一位置,全部給其賦值有兩種方式: print(value='hi') 或者 print('hi') ,固然你們所有傾向於後者學習
能夠傳入多個參數,中間用逗號隔開:ui
In [2]: print('hello','hi','i am the best man in the world!') hello hi i am the best man in the world!
能夠是計算式,打印其結果:spa
In [3]: print(1+4) 5
學了上面兩種方法後,組合起來調皮一下下:scala
In [5]: print('你','是',200+50) 你 是 250
sep是分隔符,默認是空格,讓咱們來玩弄一下它:
In [7]: print(5,2,0) 5 2 0
In [6]: print(5,2,0,sep='-') 5-2-0
In [8]: print(5,2,0,sep='') 520
實際使用中,不多回去修改sep的值,一般默認就能夠
end是結束符,默認是 '\n' (其實就是回車換行),盤它:
1 In [12]: print(5), print(2), print(0) 2 5 3 2 4 0
In [13]: print(5,end='我是5的結束符'), print(2,end='我是2的結束符'), print(0,end='我是0的結束符') 5我是5的結束符2我是2的結束符0我是0的結束符
In [14]: print(5,end=''), print(2,end=''), print(0) 520
在實際使用中,有須要的話會更改end參數的值
file是輸出流,默認輸出到屏幕上,能夠經過修改其值打印到其餘地點,好比文件:
打開VSCode,在跟着MS學Python文件夾中新建#5文件夾,新建test.py文件練習
print(5,2,0) 輸出結果爲:5 2 0
with open('test.txt', 'w') as f: print(5, 2, 0, file=f)
以後會在目錄裏看到test.txt文件,裏面的內容爲5 2 0
flush是強制刷新到輸出流,默認爲否。弄清楚這個要知道計算機存儲工做的原理,爲了加快計算機的存儲速度,實際上數據並不會直接寫入硬盤,而是留在中轉站內存中,當內存中的數據量達到規定值之後,纔會將內存中的數據高速寫入硬盤。若是內存中的數據沒有達到規定值計算機忽然斷電,這部分數據就消失了,全部print函數有這麼一個參數,改成是之後,一但有數據就馬上寫入硬盤中,不會由於斷電或者其餘狀況而致使數據丟失=====( ̄▽ ̄*)b
說完了輸出,就該輸入函數 input 了,輸入相對輸出就很easy了:
In [15]: help(input) Help on built-in function input in module builtins: input(prompt=None, /) Read a string from standard input. The trailing newline is stripped. The prompt string, if given, is printed to standard output without a trailing newline before reading input. If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError. On *nix systems, readline is used if available.
能夠看到,input超級簡單有木有,話很少說,盤它!
在Python3中,輸入的一切都是字符串(這是Python的一種數據類型,之後會說到,總之如今先了解一下),上代碼:
In [18]: input() Hi #這個是我輸入的 Out[18]: 'Hi'
In [19]: input('請輸入:') 請輸入:Hi #我只輸入了Hi Out[19]: 'Hi'
看到這裏你應該明白了哇,再補充一點:
In [20]: input('>>') >>520 Out[20]: '520'
這裏須要格外注意的是,輸出的520是被單引號引發來的,這就是字符串,而不是數字了
看到變量,這多是全部萌新最頭疼的地點,由於很難理解的概念,其實變量在小學就遇到了,讓我來勾起你的記憶:
小學題目:現有一個長方體,長10釐米,寬5釐米,請問這個長方體面積是多少? (答對不得分,答錯扣41分)
高中題目:現有一個長方體,長a=10cm,寬b=5cm,計算其面積s。 (答對不得分,答錯扣41分)
大學題目:現有 一個長方體,長爲a,寬爲b,請計算其面積s。 (答對不得分,答錯扣41分)
個人題目:請以一個程序員的角度從以上三個題目中找出所有的變量!
維基百科這麼說:在程序設計中,變量(英語:Variable,scalar)是指一個包含部分已知或未知數值或信息(即一個值)之存儲地址,以及相對應之符號名稱(識別字)。一般使用變量名稱引用存儲值;將名稱和內容分開能讓被使用的名稱獨立於所表示的精確消息以外。計算機源代碼中的識別字能在運行期間綁紮一個值,且該變量的值可能在程序運行期間改變。 程序設計中的變量不必定能直接對應到數學中所謂的變量之概念。在程序設計中,變量的值不必定要爲方程或數學公式之一部分。程序設計中的變量可以使用在一段可重複的程序:在一處賦值,而後使用於另外一處,接着在一次賦值,且以相同方式再使用一次(見迭代)。程序設計中的變量一般會給定一個較長的名稱,以描述其用途;數學中的變量一般較爲簡潔,只給定1、兩個字母,以方便抄寫及操做。
我這麼說:變量就是房子的門牌號
a = 10
這就就申明瞭一個變量,變量爲 a,變量的值爲10
In [21]: a = 10 In [22]: a Out[22]: 10 In [23]: a = 20 In [24]: a Out[24]: 20
變量的修改直接用新值覆蓋掉之前的就能夠
變量只能是字母、數字或下劃線的任意組合
變量的第一個字符不能是數字
關鍵字不能申明爲變量,Python關鍵字有:and, as, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, fom, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while, with, yield(這些關鍵字以後 都會學到,並且要熟練掌握哦,喔哈哈哈哈哈)
來看三段代碼
In [25]: a=10 In [26]: b=10 In [27]: a,b Out[27]: (10, 10) In [28]: a=20 In [29]: a,b Out[29]: (20, 10)
In [30]: a=10 In [31]: b=a In [32]: a,b Out[32]: (10, 10) In [33]: a=20 In [34]: a,b Out[34]: (20, 10)
In [51]: a=b=10 In [52]: a,b Out[52]: (10, 10) In [53]: b=20 In [54]: a,b Out[54]: (10, 20)
從上面的三段代碼能夠看出,變量指向的永遠是值,而不會指向變量,a=b=10的真實含義是a指向10,b指向10,這裏的兩個10是同一個10,後來b=20意思是b變心了,b如今指向了另一個值20,可是a指向的依舊是10,這裏必定要注意,a指向的是10,而不是指向變量b,理解不了那就上圖:
此次懂了哇,弟弟們ㄟ( ▔, ▔ )ㄏ
若是你有其餘語言的基礎,那麼對於交換變量這一塊必定很熟悉,你會堅決果斷的說找一箇中間變量 t 不就好了,的確,Python也能夠這樣:
In [55]: a=10 In [56]: b=20 In [57]: a,b Out[57]: (10, 20) In [58]: t=a In [59]: a=b In [60]: b=t In [61]: a,b Out[61]: (20, 10)
但但但但可是,若是Python也用這種方法的話,我這裏確定就不會說起了,來看一名專業的Pythonic是如何交換變量的:
In [66]: a=10 In [67]: b=20 In [68]: a,b Out[68]: (10, 20) In [69]: a,b=b,a In [70]: a,b Out[70]: (20, 10)
不要驚訝(看你一副 沒見過世面的樣子,下面還有更精彩的),Python就是這麼🐮,這該死的無處安放的魅力啊~
若是讓我說,PYthon3變量最特殊的地點在哪,那必定是Python3中能夠用中文命名變量了:
In [71]: 長=10 In [72]: 長 Out[72]: 10
看到沒,用中文命名變量,顛覆你的編程觀,哈哈,不過這一點了解就好,實際使用這種方法萬萬不可
必定要讓變量要有意義,變量要讓本身和其餘人理解,變量的命名其實最重要的一點在這裏,變量不要用中文去命名,符合國際範好嗎?還有就是長就是長,寬就是寬,高就是高,不要用a啊,b啊,c啊,要用length,寬要用width,高要用high,其餘的變量也同樣,若是實在不清楚英文單詞的,用漢語拼音去命名,並且關鍵變量要有註釋!!!
看到這裏,以前的題目內心有了答案了哇。
這裏小編想說想要成爲一名專業的程序員,你的代碼必定要結構清晰,而且關鍵地方要有註釋的存在,一方面本身能夠更加快速的找到變量,另外一方面代碼交接的時候,對方也有理解你編的代碼。註釋的語句不會被執行,Python的註釋方法以下:
#我是註釋,你好~
''' 我是多行註釋 你好 朋友 '''
在平常的寫代碼中,單行註釋和多行註釋常常要用到,別小看這看似沒有用的註釋,實則是你成長的必經之路!