#5 Python變量與輸入輸出

前言

學習一門編程語言,最基本的無非不過學習其變量規則、條件語句、循環語句和函數,接下來的幾節將開始記錄這些基本的語法,本節主要記錄變量規則!程序員

1、Python輸入輸出

在說Python變量以前,先補充一下Python的輸入和輸出語句,在Python的編寫過程當中,會遇到許多的錯誤,基本的調試方法就是將中間變量打印(輸出)出來,因此說Python的輸入輸出語句十分重要,尤爲是輸出語句,必定要靈活掌握。編程

輸出

前文可能已經接觸到了輸出語句 print,實際上在Python3中它是一個內置函數(關於函數的概念以後會講),在Python常被成爲打印,具體用法以下:app

1.查看幫助信息

在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賦值才行,若是你仍是不明白,來看例子:函數

2.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
3.sep

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的值,一般默認就能夠

4.end

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參數的值

5.file

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文件

以後會在目錄裏看到test.txt文件,裏面的內容爲5 2 0

6.flush

flush是強制刷新到輸出流,默認爲否。弄清楚這個要知道計算機存儲工做的原理,爲了加快計算機的存儲速度,實際上數據並不會直接寫入硬盤,而是留在中轉站內存中,當內存中的數據量達到規定值之後,纔會將內存中的數據高速寫入硬盤。若是內存中的數據沒有達到規定值計算機忽然斷電,這部分數據就消失了,全部print函數有這麼一個參數,改成是之後,一但有數據就馬上寫入硬盤中,不會由於斷電或者其餘狀況而致使數據丟失=====( ̄▽ ̄*)b

輸入

說完了輸出,就該輸入函數 input 了,輸入相對輸出就很easy了:

1.查看幫助信息
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的一種數據類型,之後會說到,總之如今先了解一下),上代碼:

2.不帶參數的輸入:
In [18]: input()
Hi   #這個是我輸入的
Out[18]: 'Hi'
3.帶參數的輸入:
In [19]: input('請輸入:')
請輸入:Hi     #我只輸入了Hi
Out[19]: 'Hi'

看到這裏你應該明白了哇,再補充一點:

In [20]: input('>>')
>>520
Out[20]: '520'

這裏須要格外注意的是,輸出的520是被單引號引發來的,這就是字符串,而不是數字了

2、Python變量

看到變量,這多是全部萌新最頭疼的地點,由於很難理解的概念,其實變量在小學就遇到了,讓我來勾起你的記憶:

小學題目:現有一個長方體,長10釐米,寬5釐米,請問這個長方體面積是多少? (答對不得分,答錯扣41分)

高中題目:現有一個長方體,長a=10cm,寬b=5cm,計算其面積s。 (答對不得分,答錯扣41分)

大學題目:現有 一個長方體,長爲a,寬爲b,請計算其面積s。  (答對不得分,答錯扣41分)

個人題目:請以一個程序員的角度從以上三個題目中找出所有的變量!

1.什麼是變量

維基百科這麼說:在程序設計中,變量(英語:Variable,scalar)是指一個包含部分已知或未知數值或信息(即一個值)之存儲地址,以及相對應之符號名稱(識別字)。一般使用變量名稱引用存儲值;將名稱和內容分開能讓被使用的名稱獨立於所表示的精確消息以外。計算機源代碼中的識別字能在運行期間綁紮一個值,且該變量的值可能在程序運行期間改變。 程序設計中的變量不必定能直接對應到數學中所謂的變量之概念。在程序設計中,變量的值不必定要爲方程或數學公式之一部分。程序設計中的變量可以使用在一段可重複的程序:在一處賦值,而後使用於另外一處,接着在一次賦值,且以相同方式再使用一次(見迭代)。程序設計中的變量一般會給定一個較長的名稱,以描述其用途;數學中的變量一般較爲簡潔,只給定1、兩個字母,以方便抄寫及操做。

我這麼說:變量就是房子的門牌號

2.變量的申明
a = 10

這就就申明瞭一個變量,變量爲 a,變量的值爲10

3.變量的修改
In [21]: a = 10

In [22]: a
Out[22]: 10

In [23]: a = 20

In [24]: a
Out[24]: 20

變量的修改直接用新值覆蓋掉之前的就能夠

4.變量的命名規則

變量只能是字母、數字或下劃線的任意組合

變量的第一個字符不能是數字

關鍵字不能申明爲變量,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(這些關鍵字以後 都會學到,並且要熟練掌握哦,喔哈哈哈哈哈)

5.變量的深刻探索

來看三段代碼

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)
No.1
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)
No.2
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)
No.3

從上面的三段代碼能夠看出,變量指向的永遠是值,而不會指向變量,a=b=10的真實含義是a指向10,b指向10,這裏的兩個10是同一個10,後來b=20意思是b變心了,b如今指向了另一個值20,可是a指向的依舊是10,這裏必定要注意,a指向的是10,而不是指向變量b,理解不了那就上圖:

此次懂了哇,弟弟們ㄟ( ▔, ▔ )ㄏ

6.變量的交換

若是你有其餘語言的基礎,那麼對於交換變量這一塊必定很熟悉,你會堅決果斷的說找一箇中間變量 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就是這麼🐮,這該死的無處安放的魅力啊~

7.Python3變量的特殊之處

若是讓我說,PYthon3變量最特殊的地點在哪,那必定是Python3中能夠用中文命名變量了:

In [71]: 長=10

In [72]: 長
Out[72]: 10

看到沒,用中文命名變量,顛覆你的編程觀,哈哈,不過這一點了解就好,實際使用這種方法萬萬不可

8.變量的約定俗成

必定要讓變量要有意義,變量要讓本身和其餘人理解,變量的命名其實最重要的一點在這裏,變量不要用中文去命名,符合國際範好嗎?還有就是長就是長,寬就是寬,高就是高,不要用a啊,b啊,c啊,要用length,寬要用width,高要用high,其餘的變量也同樣,若是實在不清楚英文單詞的,用漢語拼音去命名,並且關鍵變量要有註釋!!!

看到這裏,以前的題目內心有了答案了哇。

3、註釋

這裏小編想說想要成爲一名專業的程序員,你的代碼必定要結構清晰,而且關鍵地方要有註釋的存在,一方面本身能夠更加快速的找到變量,另外一方面代碼交接的時候,對方也有理解你編的代碼。註釋的語句不會被執行,Python的註釋方法以下:

單行註釋:#註釋內容
#我是註釋,你好~
多行註釋:'''註釋內容'''
'''
我是多行註釋
你好
朋友
'''

在平常的寫代碼中,單行註釋和多行註釋常常要用到,別小看這看似沒有用的註釋,實則是你成長的必經之路!

相關文章
相關標籤/搜索