一、安裝python3,C:\Users\liting.che\AppData\Local\Programs\Python\Python36
二、啟動
(一)IDLE啟動
IDLE:是一個python shell。shell是“外殼”意思,這是一個通過鍵入文本和成簇的互動途徑,利用shell和python互動,本身是一個GUI模式(圖形使用者界面)。
打開方式:C:\Users\liting.che\AppData\Local\Programs\Python\Python36\Lib\idlelib\idle.bat,輕按兩下打開指令視窗
輸入指令:print “Hello Word”
遇到問題:調用“print”時缺少括号。你是說列印(“Hello word”)嗎?
解決:python3中print後得帶括号
正确的輸入:print ("Hello word")
(二)IDLE指令:
1.IDLE為什麼會有不同的顔色?
便于區分代碼(code)不同部分。
2.術語:
關鍵字(keyword):作為python語言一部分的特殊詞,也稱為保留字(reserved Word)
3.python的應用
計算、列印語言、反複做事情
讓列印30個“hahaha”
三、程式設計
第一個程式設計
程式設計需要在文本編輯器進行,在IDLE中file-->new file
在檔案編輯器中鍵入代碼,進行儲存,file-->save as-->pzzia.py
運作程式,在untitled視窗點選run-->run module後,在python shell視窗檢視運作結果。
第二個程式設計
import random
secret = random.randint(1,999)
guess = 0
tries = 0
print ("蛋叔,我們來玩個遊戲吧")
print ("我心裡有個數字在1-999之間,你猜是多少?我給你6次機會看你能猜到不")
while guess != secret and tries < 6:
guess = int (input("你猜的是什麼? "))
if guess < secret:
print("太低,你個笨蛋")
elif guess > secret:
print ("太高了,又浪費一次機會")
tries = tries +1
if guess == secret:
print ("好吧,你猜對了")
else:
print ("别再猜了,下次運氣會好的,夥計")
print ("這個數字是",secret)
四、記憶體和變量
程式:程式是給計算機下達的一系列指令
一定要記住,輸入、處理、輸出
記憶體:賦予的變量值會存儲起來,不需要關注具體存儲位置,隻需要知道如何調用,重新賦予變量值後,長期不用的值電腦會自動清理。
變量名規則:
1.區分大小寫,a 和A不同
2.變量名以字母和下劃線_開頭,不能以數字開頭
3.變量名不能有空格
專業的python程式員給變量命名時,常用小寫字母開頭。
五、數字、字元串
拼接:變量值為兩個字元串的時候,兩個變量“+”後,兩個字元串緊密拼接在一起,變成一個長字元串。
長字元串:多行的字元串,用""" """ 或 \'\'\' \'\'\' 三重引用。
記住一句話:最常見的bug就是改變了不該改變的變量,或者盡管改變的變量無誤,但是時機不合适。
六、四則運算
- 整除:
在Python 2 中,做除法的方式稱為“整除”(floor division)。但Python 3的工作方式不一樣,在Python 3 中,如果你使用正常的除法操作符(前斜杠“/”),則做的是正常除法,而不是整除。
>>> print 3/2
1.5
要在Python 3 中做整除,需要使用兩個前斜杠(//):
>>> print 3//2
1
這是Python 2 和Python 3 最顯著的差別之一,也是導緻很多Python 2 程式與Python 3 程式不相容的原因。
切記:要記住Python 2 的這種整除行為。這很重要,很多Python 程式員(包括我自己)都曾經因為忘記這一點犯過錯。
- 操作符:
+、-、* 和/ 、=符号都稱為操作符。
- 運算順序
Python 會遵循正确的數學規則,是以它會先做乘法再做加法。
Python 使用的順序與你在數學課上學到的(或者将要學到的)規則完全相同。指數運算最優先,然後是乘除,再後面是加減運算。
- 另外兩個操作符
指數—自乘為一個幂
Python 用一個雙星号表示指數或者将一個數自乘為一個幂
如,3的5次幂,就是3 ** 5
切記:很多語言和程式可能使用其他符号來表示自乘為一個幂。一種常用的符号是^ (例如3^5)。如果在Python 中使用這個符号,你不會得到一個錯誤消息,隻不過答案不正确。(這是因為,^ 在Python 中另有含義——我們可不希望這樣!)這個問題可能很難調試。一定要使用** 操作符表示自乘為一個幂[ 也稱為求幂(exponentiation)]。
取餘—求餘數
這個符号是百分号(%)
自增和自減操作符:+=(自增)和-=(自減)。
E 記法:計算機中顯示非常大或非常小的數時采用的一種方法。
寫作3.8E16 或者3.8e16。讀作“3.8 指數16”或者簡讀作“3.8 e 16”。這裡假設指數是10 的幂。這就等同于寫成3.8×1016
寫作1.752×10-13,E 記法會寫作1.752e–13。
指數和E記法的差別:
3 ** 5=3*3*3*3*3
3e5=3*10**5=3*10*10*10*10*10
七、資料的類型
改變類型
- float() 從一個字元串或整數建立一個新的浮點數(小數)。
- int() 從一個字元串或浮點數建立一個新的整數。int() 函數總是下取整。就是去掉小數部分。
- str() 從一個數(可以是任何其他類型)建立一個新的字元串。
要記住,在互動模式中,可以直接鍵入變量名(而不需要使用print),Python會顯示這個變量的值(這在第2 章中曾經見過)。不過這隻在互動模式中奏效,在程式中是行不通的。
問題:
原因:
Python 會用足夠多的二進制位(比特)建立一個浮點數(小數)來保證15 個小數位。不過這個二進制數并不完全等于0.3,它隻是相當相當接近。(在這裡,誤差是.000000000000004。)這個差稱為舍入誤差(roundoff error)。
得到更多資訊:type()
八、輸入
Python 有一個内置函數, 名為raw_input(),
使用:
print 指令和逗号
輸入
input()函數可以直接列印消息,是以你根本不必使用print 語句
攝氏度轉換題可重新寫成如下程式;
來自網際網路的輸入
練習題:
練習題答案:
測試題:
動手試一試:
1,2
3,4題答案
5題答案
九、GUI—圖形使用者界面
有GUI 的程式仍然有3 個基本要素:輸入、處理和輸出,但它們的輸入和輸出更豐富、更有趣一些。
1、安裝EasyGui
下載下傳位址:https://sourceforge.net/projects/easygui/
版本:0.97
放置路徑:C:\Users\liting.che\AppData\Local\Programs\Python\Python36
建立GUI:
啟動IDLE,在互動模式鍵入以下指令:
這會告訴Python 你打算使用EasyGui 子產品。如果沒有得到錯誤消息,說明Python 找到了EasyGui 子產品。
現在來建立一個包含OK 按鈕的簡單消息框:
EasyGui msgbox() 函數用于建立一個消息框。大多數情況下,EasyGui 函數的名就是相應英語單詞的縮寫。
使用msgbox() 時,會看到類似這樣的結果:
如果點選OK 按鈕,這個消息框會關閉。
GUI 輸入
定義一個變量名,輸入後,點選ok,不會顯示,必須print列印變量名,才會顯示ok
自定義gui界面
文本提示方法:buttonbox
選擇控件方法:choices=[]
選擇框
調整下拉框大小,找到easygui.py檔案,找到def__choicebox 開頭的一節,在
root_width = int((screen_width * 0.8))
root_height = int((screen_height * 0.5))
代碼裡改寬高的大小
文本輸入,用方法:easygui.enterbox("")
預設輸入:用方法:default = \'\'
數字
easygui.integerbox("你猜的是什麼? ")
其他GUI 元件
包括允許多重選擇(而不是隻選擇一項)的選擇框
還有一些特殊的對話框用來得到檔案名等内容
在互動模式中,可以在互動提示符後面鍵入>>>help()
進入help> 模式下,輸入以下指令檢視幫助文檔
如:help>easygui.msgbox
help> time.sleep
help> quit
十、判斷再判斷
代碼塊(block)是一行或放在一起的多行代碼。它們都與程式的某個部分相關(比如一個if 語)。在Python 中,通過将塊中的代碼行縮進來構成代碼塊。
縮進
在Python 中,編寫代碼時縮進是必不可少的一部分,Python中有一個慣例:總是将代碼塊縮進4 個空格。在你的程式中最好也采用這種風格
Python
中有一個慣例:總是将代碼塊縮進4 個空格。在你的程式中最好也采用這種風格
操作符
= 和== 差別
小于(<)、大于(>)和不等于(!=)。(還可以使用<> 表示不等于,不過大多數人都用!=。)還可以把> 或< 與= 結合起來表示大于或等于(>=)以及小于或等于(<=)。
在Python 3 中,不再支援<> 形式的不等于,隻能使用!= 來表示不等于。
比較操作符(comparison operator)也稱為關系操作符(relational operator),因為它們要測試兩邊值的關系(relation):相等還是不相等,大于還是小于。比較也稱為條件測試(conditional test)或邏輯測試(logical test)。在程式設計中,邏輯(logical)就是指某個結論的答案是真還是假。
多個條件
age = float(raw_input("Enter your age: "))
grade = int(raw_input("Enter your grade: "))
if age >= 8:
if grade >= 3:
print "You can play this game."
else:
print "Sorry, you can’t play the game."
使用and
使用or
使用not
這行代碼 :if not (age < 8):
與這行代碼:if age >= 8:
十、循環
計數循環:重複一定次數的循環,它叫做for 循環
條件循環:重複直至發生某種情況時結束的循環,while 循環
失控的循環:ctrl+C停止python程式
中括号做什麼用:利用中括号和數之間的逗号來建立清單list,隻要知道清單是一種容器,可以存放一堆東西。
range() 函數:你可以隻輸入起始值和結束值,它就會為你建立這二者之間的所有值。會建立一個清單,其中包含某個範圍内的數,
—循環變量名:
常使用字母i、j、k 等作為循環變量,,i、j、k 不應當有其他用途
range() 簡寫:
不一定非得為range()提供兩個數:
for i in range (5):
這與寫作: for i in range (0, 5):
一樣,都代表[0,1,2,3,4],
隻是需要知道,第一次循環時i 将等于0
而不是1,而最後一次循環時,它将等于4 而不是5。
按步長計數:
range(a,b,c),其中a,b是具體從哪到哪,c是參數,間隔幾
range() 函數中的第3 個參數是負數時,循環會向下計數
跳出循環——break 和continue
條件為true,循環繼續運作。正是這個原因,這種條件循環也稱為while 循環,它使用了Python 的while 關鍵字。輸入不等于3 時,條件為false,循環停止。
十一、注釋
增加注釋
單行注釋
行末注釋
多行注釋
三重引号字元串