1. 運作python代碼。
在d盤下建立一個t1.py檔案内容是:
print('hello world')
打開windows指令行輸入cmd,确定後 寫入代碼python d:t1.py

您已經運作了第一個python程式, 即:終端---->cmd-----> python 檔案路徑。 回車搞定~
2. 解釋器。
上一步中執行 python d:t1.py 時,明确的指出 t1.py 腳本由 python 解釋器來執行。
如果想要類似于執行shell腳本一樣執行python腳本,例:
./t1.py
,那麼就需要在 hello.py 檔案的頭部指定解釋器,如下:
1 | #!/usr/bin/env python |
---|---|
2 | |
3 | print "hello,world" |
如此一來,執行: .
/t1.py
即可。
ps:執行前需給予t1.py 執行權限,chmod 755 t1.py
3. 注釋。
當行注釋:# 被注釋内容
多行注釋:'''被注釋内容''',或者"""被注釋内容"""
4. 變量
變量是什麼? 變量:把程式運作的中間結果臨時的存在記憶體裡,以便後續的代碼調用。
4.1、聲明變量
lux = '魯迅本人'
上述代碼聲明了一個變量,變量名為: lux,變量name的值為:"魯迅本人"
變量的作用:昵稱,其代指記憶體裡某個位址中儲存的内容
4.2、變量定義的規則:
- 變量名隻能是 字母、數字或下劃線的任意組合
- 變量名的第一個字元不能是數字
- 以下關鍵字不能聲明為變量名 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
- 變量的定義要具有可描述性。
4.3、推薦定義方式
#駝峰體
AgeOfOldboy = 56
NumberOfStudents = 80
#下劃線
age_of_oldboy = 56
number_of_students = 80
你覺得哪種更清晰,哪種就是官方推薦的,我想你肯定會先第2種,第一種AgeOfOldboy咋一看以為是AngelaBaby
4.4、變量的指派
lux = '魯迅本人'、
name = '太白金星'
name1 = '太白金星'
name2 = name1
name3 = name2
4.5、定義變量不好的方式舉例
- 變量名為中文、拼音
- 變量名過長
- 變量名詞不達意
5. 常量
常量即指不變的量,如pai 3.141592653..., 或在程式運作過程中不會改變的量
舉例,假如老男孩老師的年齡會變,那這就是個變量,但在一些情況下,他的年齡不會變了,那就是常量。在Python中沒有一個專門的文法代表常量,程式員約定俗成用變量名全部大寫代表常量
AGE_OF_OLDBOY = 56
c語言中有專門的常量定義文法,
const int count = 60;
一旦定義為常量,更改即會報錯
6. 基礎資料類型(初始)。
什麼是資料類型?
我們人類可以很容易的厘清數字與字元的差別,但是計算機并不能呀,計算機雖然很強大,但從某種角度上看又很傻,除非你明确的告訴它,1是數字,“漢”是文字,否則它是分不清1和‘漢’的差別的,是以,在每個程式設計語言裡都會有一個叫資料類型的東東,其實就是對常用的各種資料類型進行了明确的劃分,你想讓計算機進行數值運算,你就傳數字給它,你想讓他處理文字,就傳字元串類型給他。Python中常用的資料類型有多種,今天我們暫隻講3種, 數字、字元串、布爾類型
6.1、整數類型(int)。
int(整型)
在32位機器上,整數的位數為32位,取值範圍為-231~231-1,即-2147483648~2147483647
在64位系統上,整數的位數為64位,取值範圍為-263~263-1,即-9223372036854775808~9223372036854775807
除了int之外, 其實還有float浮點型, 複數型,但今天先不講啦
6.2、字元串類型(str)。
在Python中,加了引号的字元都被認為是字元串!
>>> name = "Alex Li" #雙引号
>>> age = "22" #隻要加引号就是字元串
>>> age2 = 22 #int
>>>
>>> msg = '''My name is taibai, I am 22 years old!''' #我擦,3個引号也可以
>>>
>>> hometown = 'ShanDong' #單引号也可以
那單引号、雙引号、多引号有什麼差別呢? 讓我大聲告訴你,單雙引号木有任何差別,隻有下面這種情況 你需要考慮單雙的配合
msg = "My name is Alex , I'm 22 years old!"
多引号什麼作用呢?作用就是多行字元串必須用多引号
msg = '''
今天我想寫首小詩,
歌頌我的同桌,
你看他那烏黑的短發,
好像一隻炸毛雞。
'''
print(msg)
字元串拼接
數字可以進行加減乘除等運算,字元串呢?讓我大聲告訴你,也能?what ?是的,但隻能進行"相加"和"相乘"運算。
>>> name
'Alex Li'
>>> age
'22'
>>>
>>> name + age #相加其實就是簡單拼接
'Alex Li22'
>>>
>>> name * 10 #相乘其實就是複制自己多少次,再拼接在一起
'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'
注意,字元串的拼接隻能是雙方都是字元串,不能跟數字或其它類型拼接
>>> type(name),type(age2)
(<type 'str'>, <type 'int'>)
>>>
>>> name
'Alex Li'
>>> age2
22
>>> name + age2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects #錯誤提示數字 和 字元 不能拼接
6.3、布爾值(True,False)。
布爾類型很簡單,就兩個值 ,一個True(真),一個False(假), 主要用記邏輯判斷
但其實你們并不明白對麼? let me explain, 我現在有2個值 , a=3, b=5 , 我說a>b你說成立麼? 我們當然知道不成立,但問題是計算機怎麼去描述這成不成立呢?或者說a< b是成立,計算機怎麼描述這是成立呢?
沒錯,答案就是,用布爾類型
>>> a=3
>>> b=5
>>>
>>> a > b #不成立就是False,即假
False
>>>
>>> a < b #成立就是True, 即真
True
7. 程式互動
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 将使用者輸入的内容指派給 name 變量
name = input("請輸入使用者名:")
# 列印輸入的内容
print(name)
執行腳本就會發現,程式會等待你輸入姓名後再往下繼續走。
可以讓使用者輸入多個資訊,如下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = input("What is your name?")
age = input("How old are you?")
hometown = input("Where is your hometown?")
print("Hello ",name , "your are ", age , "years old, you came from",hometown)
8. 流程控制之--if。
假如把寫程式比做走路,那我們到現在為止,一直走的都是直路,還沒遇到過分叉口,想象現實中,你遇到了分叉口,然後你決定往哪拐必然是有所動機的。你要判斷那條岔路是你真正要走的路,如果我們想讓程式也能處理這樣的判斷怎麼辦? 很簡單,隻需要在程式裡預設一些條件判斷語句,滿足哪個條件,就走哪條岔路。這個過程就叫流程控制。
if...else 語句
單分支
if 條件:
滿足條件後要執行的代碼
雙分支
"""
if 條件:
滿足條件執行代碼
else:
if條件不滿足就走這段
"""
AgeOfOldboy = 48
if AgeOfOldboy > 50 :
print("Too old, time to retire..")
else:
print("還能折騰幾年!")
縮進
這裡必須要插入這個縮進的知識點
你會發現,上面的if代碼裡,每個條件的下一行都縮進了4個空格,這是為什麼呢?這就是Python的一大特色,強制縮進,目的是為了讓程式知道,每段代碼依賴哪個條件,如果不通過縮進來區分,程式怎麼會知道,當你的條件成立後,去執行哪些代碼呢?
在其它的語言裡,大多通過
{}
來确定代碼塊,比如C,C++,Java,Javascript都是這樣,看一個JavaScript代碼的例子
var age = 56
if ( age < 50){
console.log("還能折騰")
console.log('可以執行多行代碼')
}else{
console.log('太老了')
}
在有
{}
來區分代碼塊的情況下,縮進的作用就隻剩下讓代碼變的整潔了。
Python是門超級簡潔的語言,發明者定是覺得用
{}
太醜了,是以索性直接不用它,那怎麼能區分代碼塊呢?答案就是強制縮進。
Python的縮進有以下幾個原則:
- 頂級代碼必須頂行寫,即如果一行代碼本身不依賴于任何條件,那它必須不能進行任何縮進
- 同一級别的代碼,縮進必須一緻
- 官方建議縮進用4個空格,當然你也可以用2個,如果你想被人笑話的話。
多分支
回到流程控制上來,if...else ...可以有多個分支條件
if 條件:
滿足條件執行代碼
elif 條件:
上面的條件不滿足就走這個
elif 條件:
上面的條件不滿足就走這個
elif 條件:
上面的條件不滿足就走這個
else:
上面所有的條件不滿足就走這段
寫個猜年齡的遊戲吧
age_of_oldboy = 48
guess = int(input(">>:"))
if guess > age_of_oldboy :
print("猜的太大了,往小裡試試...")
elif guess < age_of_oldboy :
print("猜的太小了,往大裡試試...")
else:
print("恭喜你,猜對了...")
上面的例子,根據你輸入的值不同,會最多得到3種不同的結果
再來個比對成績的小程式吧,成績有ABCDE5個等級,與分數的對應關系如下
A 90-100
B 80-89
C 60-79
D 40-59
E 0-39
要求使用者輸入0-100的數字後,你能正确列印他的對應成績
score = int(input("輸入分數:"))
if score > 100:
print("我擦,最高分才100...")
elif score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 60:
print("C")
elif score >= 40:
print("D")
else:
print("太笨了...E")
這裡有個問題,就是當我輸入95的時候 ,它列印的結果是A,但是95 明明也大于第二個條件
elif score >=80:
呀, 為什麼不列印B呢?這是因為代碼是從上到下依次判斷,隻要滿足一個,就不會再往下走啦,這一點一定要清楚呀!