第2章 記住內存和變量
2.1 輸入、處理和輸出
什麼是程序?
程序是一系列指令的集合。
一個真正有用的程序,必須有以下三個基本要素:
1.都有輸入(input)
2.都會處理(process)輸入
3.都會產生輸出(output)
比如我們的第一個程序:
print("Hello world!")
print("你好。")
print("3+5")
print("cat"+"dog")
print("hello "*20)
他沒有任何輸入和處理,只是簡單地打印出一些東西,所以這個程序沒什麼意思。
而我們的猜數遊戲就具備這三個基本要素:
1.輸入:我們猜的數,從鍵盤上輸入電腦
2.處理:程序處理我們猜的數,看這個數猜得對不對
3.輸出:程序打印出來的各種消息
這個程序具備了這三個要素,所以這個程序是一個有用的程序。
輸入,處理,輸出。
一定要記住這三個要素。
好的,現在知道了,程序需要輸入,計算機會把我們的輸入保存在它的內存中。
內存簡單的說就是存儲程序以及數據的地方
2.2 名字
上節課我們知道了,計算機會把一個東西存放在內存中,但是,我們怎麼知道它存到哪裡去了呢?
如果我們想把我們存的東西找回來,該怎麼辦呢?
答案是,我們需要給我們輸入的東西取一個名字:
比如:
我們在IDLE裡面輸入
>>>print("hello world!")
如果僅僅是這樣,我們下次想要再說一次hello world的時候,就得再輸入一次,很麻煩。
那我們就可以給這個"hello world!"取一個簡單的名字,比如H,這樣一來,我們接下來想要再說hello world的時候,就可以直接輸入一個H就好了。
就像下面這樣:
>>> H="hello world!"
>>> print(H)
這句話呢,用一個 = 號,表示把hello world給H。
這樣一來,計算機把hello world存到哪裡去我們就不用知道了,我們只要知道hello world的名字是H,以後想使用hello world的時候,就直接用H就好了。
要注意,這個=號。和我們數學裡a=b的等於,是不一樣的。
這個我們以後的課程裡會講到。
這就是我們以前遇到過的,加上引號和不加引號的區別了。
我們在之前的課程中寫過這樣的語句:
print("3+5")
print("3"+"5")
print(3+5)
它們輸出了不同的結果。
這是為什麼呢?
在一個東西兩邊加上引號的時候,Python會按字面來處理,它就直接把括號裡的東西打印出來。
如果沒有加引號,Python就必須明白這個東西到底是什麼,是一個數字(5)?還是一個表達式?(5+3),或者是一個名字?(H)
如果是一個名字的話,Python就去打印這個名字代表的內容。
所以我們輸入print(H)
Python打印出hello world!
2.3 名字裡是什麼
H=“hello world!”
變量名:變量的名字
變量的名字(變量名)可以是任何你喜歡的名字,但是必須遵循下面幾個要求:
變量名的命名規則:
l可以是字母,數字和下劃線的組合。不能出現其他的符號。
比如:
H1
H_1
Hel2
l不能以數字開頭。必須是字母或者下劃線開頭。
比如:
1h 這個名字是錯誤的。
而H1,_h1這兩個名字是正確的。
l變量名中不能包含空格
H 1 中間有空格,這個名字是錯誤的。
l變量的大寫和小寫是不一樣的
H
h
這兩個變量名是不一樣的。
2.4 數字和字符串
到目前,我們已經給學會給我們的變量取變量名了。
我們現在來學習字符和字符串:
字符
字符是指計算機中使用的字母、數字、字和符號。
包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等。
字符和數字的區別:
如果我們輸入一個數字,沒有加引號,Python就會知道這表示數字,而不是字符。
first=5
second=3
first+second
first=”5”
second=”3”
first+second
上面這兩個程序輸出結果是不一樣的。
這就是數字和字符的不同。
字符串
字符或字符序列稱為一個字符串(String)
要告訴Python你創建的是一個字符串,就要在字符兩邊加上引號。單引號和雙引號在Python裡面都是一樣的。
teacher=“王老師。”
teacher=‘王老師。’
是一樣的。
長字符串的概念
2.5 它們有多“可變”
變量被叫做變量,是因為它們會“被改變”。
我們上節課定義了一個變量“王老師”,給這個變量取了一個名字teacher:
teacher=“王老師。”
這節課我們來“改變”一下這個變量。
做如下的定義:
teacher=“張老師。”
再改變一下:
teacher=“李老師。”
我們發現,變量確實很可變。
那麼,變量被改變後,以前的哪些變量怎麼樣了呢?去哪了呢?
我們知道,Python將我們輸入的變量保存在內存中。
當我們把teacher這個名字拿給“李老師”的時候,“王老師”和“張老師”在Python裡面就沒有名字了,Python就會發現沒有人需要它了,所以Python會把這些沒有名字的變量從內存裡刪除掉。
閱讀更多 hello程序媛 的文章