Python學習記錄

本文約定

        字符串舉例xxx,變量舉例VariableName。


保存與運行

        在保留xxx.py窗口情況下,點擊“運行->運行模塊“,可以打開PythonShell並且運行程序;若點擊”運行->PythonShell程序“,可以打開PythonShell程序但不自動運行代碼。


運算符

        邏輯運算符

+ /
- 求餘 %
* 賦值(加標籤) =

                 注意除/與分數相似,而靠左的\是反斜槓。x%2的結果即爲用x除以2所得到的餘數。

                        賦值

                               每個變量在使用前都必須賦值,變量賦值後該變量纔會被創建。一次新的賦值將創建一個新的變量,即使變量的名稱相同,但變量的標識不同。

x=1
print id(x) #id(...)是id函數,用來輸出變量的標識,結果如11229424,爲美不標識,便於變量的維護和管理
x=2
print id(x) #結果如11229412,和上面的不同,不是同一個變量

pirint y #報錯,因爲y沒有賦值,Python將認爲該變量不存在,所以報錯
                                變量同時賦值,可以如此給多個變量賦值

a=(1,2,3)
(x,y,z)=a
print "x=",x #得到:x=1
print "y=",y #得到:y=2
print "z=",z #得到:z=3

        運算順序

                括號最優,其次乘除再加減,同級從左到右。

        條件運算符

等於 == 不等於 !=
大於 > 大於等於 >=
小於 < 小於等於 <=

變量

        命名

                可用字母、數字或下劃線_,開頭不能是數字。

        全局變量

                通常命名的時候在變量名前加下劃線“_”以區分,如“_a”。在使用的時候,在其前加global保留字,如“global _a”。

        變量類型

               複數類型用j,如“c=7+8j”。


字符串

        表示

                用來顯示消息的文字,可含字、數字和符號,用”xxx”雙引號創建或’xxx’單引號創建,開始第一個爲單引號則不管中間是否有雙引號也是找單引號結尾,雙引號也如此。多行字符串用一對三個單引號且中間用回車分隔來表示。若內含單雙引號,則可以使用三個單引號總引用,裏面照寫單雙引號,或者使用反斜槓\,在裏面要使用單引號和雙引號的地方,在其前加\,如\’表示單引號和\”表示雙引號。

‘’’xxx
xxxxxxxx’’’

        中間嵌入值

                用%s佔位符表示要嵌入的值的位置。

myscore=1000
message=’I scored %s points’
print(message % myscore)
                或者
print(message % 1000)

        嵌入多個值

                替換的值用括號括起,值的排放順序等於字符串中被引用的順序。

nums=’What did the number %s say to the number %s?’
print(nums % (0,8))

        乘法

                打印空格。

spaces=’ ‘*25    #25個空格
print(‘%s 12 Butts’ % spaces)
                或者
print(1000 * ‘snift’)
                得到連續的1000個sniftsniftsnift…

        語句分隔

                Python不需要使用分號做語句結尾,但是使用了也不會有錯。在Python中可使用分號作爲同一行語句分隔,如

x=1;y=1;z=1
                Python同樣支持多行寫一條語句,使用'\'作爲換行符。如

sql="select id,name \
from dept \
where name='A'"
print aql
                 或者

sql="selece id,name * "\
"from dept * "\
"where name = 'A'"
print sql
                 所得到的結果都爲

select id,name from dept where name='A'


列表

        方括號[]中輸入列表中的位置,即索引位置。

wizard_list=[‘xxx’,’xxx’,’xxx’]
#             [0]   [1]   [2]
print(wizard_list)
        得到和上面的定義完全一樣,機油中括號、單引號和逗號。
print(wizark_list[2])
        得到對應[2]位置的’xxx’,注意索引從0開始。
print(wizark_list[2:5])
        得到索引爲2、3、4對應的,注意不包含索引爲5的。

        混放

numbers_and_strings=[‘Why’,’was’,6,’afriard of ’,7,’because’,7,8,9]
print(numbers_and_strings)
                得到和定義的一樣。進一步:
numbers=[1,2,3,4]
strings=[‘I’,’xxx’]
mylist=[nubers,strings]
print(mylist)
                得到:[[1,2,3,4],[‘I’,’xxx’]]

        添加

                添加一個元素到列表最後。

wizard_list.append(‘xxx’)

        刪除

del wizard_list[5]
                得到刪除wizard_list中索引爲5的,後面的補上。注意連續刪除時需要先刪除後面的再刪除前面的:
del xx[8]
del xx[7]
del xx[6]

        算術

                只有加法+和乘法*。

                加法

list1=[1,2,3,4]
list2=[‘I’,’xxx’]
print(list1+list2)

                        或者

list3=[list1,list2]
print(list3)

                乘法

print(list1*3)
                        得到:[1,2,3,4,1,2,3,4,1,2,3,4]。注意,直接加元素是錯的,如list1+50是錯的。

元組

        一個使用括號的列表,元組一旦創建就不能再改動,如替換某索引元素。

fibs=(0,1,1,2,3)

字典

        dict,映射map。字典中的每個元素都有一個鍵key和對應的值value組成,像數據庫一樣,例如人爲鍵,他們所喜愛的運動爲值。定義的時候冒號把每個鍵和值分開,每個鍵和值都分別用單引號括起來,兩鍵間逗號相隔,注意字典中所有元素都用大括號{}括起來,這樣就可以得到映射表。

favorite_sports={‘Ralph Williams’:’Football’,
                 ‘Michael Tippett’:’Basketball’,
                 ‘Edward Elgar’:’Baseball’}
print(favorite_sports[‘Rebecca Clarke’])

        刪除

                以鍵爲引。

del favour_sports[‘Ethel Snyth’]

        替換

                以鍵爲引。

favourite_sports[‘Ralxxx’]=’Ice Hockey’

        運算

                無加+等運算。


語法

        if-elif-else

                if作爲關鍵字,後跟一個條件和一個冒號,冒號後代碼行必須放到一個語句塊中,代碼塊中每一行前都有四個空格(其他會報錯,使用空格輸入,不用Tab鍵),要確保對於同一個代碼塊中每行都用同樣的數量空格縮進。若新起的一行並用了比前一行多的空格,則開始了一個新的代碼塊,這代碼塊是前一個代碼塊的一部分。

line of code

 

 

block1

line of code

 

 

line of code

 

 

    line of code

 

block2

    line of code

 

       line of code

block3

       line of code

       line of code

    line of code

 

    line of code

 

line of code

 

 

 

line of code

 

 

    line of code

block4

 

    line of code

 

line of code

 

 

line of code

 

 

    line of code

block5

 

    line of code

 

if age==12;
print(“xxx”)
elif age==10 or age==11:
   print(“xxx”)
elif age>=13 and age<=100
   print(“xxx”)
else:
   print(“xxx”) 
                n  空None不等於0,是空值是空狀態。用戶輸入的是以字符串的形式存儲,不是數字,如10,可以進行字符數字轉換int(xx)注意xx必須是一個整數,否則會報錯,如果有小數可以用float(xxx),轉換成字符用str(xxx)。
myval=None

        for循環

                可以直接對列表作用。
wizard_list=[‘spider legs’,’xxx’]
for I in wizard_list:
print(i)
                得到
spider legs
xxx

        while循環

                可創建“半永久”循環。
while True:
lots of code here
if some_value==True:
    break


註釋

        中文註釋

                 如果需要在代碼中使用中文註釋,必須在Python文件的最前面加上如下代碼註釋進行說明

# -* - coding:UTF -8 -* -

        跨平臺註釋

                如果需要使Python程序運行在windows以外的平臺,需要在Python文件的最前面加上如下注釋說明

#! /usr/bin/python


類和對象

        class

                創建最大一類。

class Things:
    pass

                 對於要創建的一類,只看其父類。子類繼承父類則可用父類函數。

class Inanimate(Things):
    def this_is_a_class_function():
        print(‘xxx’)
    def this_is_a_class_function_too(self)
        self.父類函數()

somethings=Inanimate()
something.this_is_a_class_function()

                初始化對象

                        __init__()左右各兩條連續無間隔下劃線。

class Giraffes:
def __init__(self.spots):
    self.giraffe_spots=spots    #參數spots設置給self參數的一個叫giraffe_spots的對象變量(也是它的屬性)

ozwarld=Giraffes(100)
print(ozwarld.giraffes_spots)
                         得到:100。init函數也需要吧self當第一參數。self是用來從類中的一個函數調用類中(還有父類中)的另一個函數。

錯誤

l  Syntax語法;escaping轉義,如反斜槓\;property屬性;object對象;instance實例。

l  EOL:end-of-line行結尾,碰到行結尾但沒找到結束字符串的引號。

l  一年365天52周。

l  ValueError:所用的值不恰當。


函數

        由名字、參數和函數體組成。

def testfunc(fname,lname):
print(‘hello %s’ % (fname,lname))

testfunc(‘mary’,’smith’)
startswith()
        舉例:跳過以b開頭的元素。
my_items=[‘apple’,’aardvark’,’banana’,’badger’,’clementine’]
for item in my_items:
if item.startswith(‘b’):
    continue
print(item)
        得到
apple
aardvark
clementine

        print()

                 打印

                 字符串

print(“xxx”)

                 變量

print(VariableName)

                 打印一空行

print()

        range()

                創建一個數字列表,範圍從起始數字開始到結束數字之前,但實際上沒有創建,只是返回一個“迭代器”。
print(list(range(10,20)))
                得到:[10,11,12,…,19]。或者
for x in range(0,5):
    print(‘hello %s’ % x)
                缺省步長爲1,含步長表示range(開始,結束(不含自身),步長)。

        abs()

                取絕對值。

        bool()

                布爾類型,只有一個參數,返回該參數的真假。

                數值

                        0返回假False,其他爲真True。

                字符串

                         除沒有值的字符串None空字符串返回False以外,其他爲True。
                列表、元組和字典

                         除空的[]以外返回False,其他返回True。

                舉例:判斷一個值是否被設置。

year=input(‘xxx’)
if not bool(year.rstrip())    #輸入值爲空時執行PS:rstrip把字符串結尾空格和回車鍵刪除
    print(‘xxx’)

        dir()

                可用於任何東西,如字符串、數字、函數、模塊、對象、類。
dir([‘a’,’short’,’list’])
                或者
dir(1)
                若加字符串變量dir(popcorn)則得到字符串str類做提供的函數。然後help(popcorn.upper)查看對應的描述。
upper(…)
    s.upper->str
                其中省略號…意味着upper是str類內的函數並且無參數,而->意味着返回一個字符串str。

        eval()

                估值,把用戶的輸入轉換成Python表達式,返回一個值。

        exel()

                比eval複雜可執行多語句,甚至是小程序。

        len()

                字符串

                        返回字符串實際可讀字符個數,含空格。

                列表或元組

                         返回其中元素的個數。

                字典

                          返回元素個數,元素以鍵計算。

                舉例:在循環中的利用

fruit=[‘apple’,’banana’]
length=len(fruit)
for x in range(0,length)
    print(‘xxx’)

        max()和min()

                求最大、最小值,可對數字列表使用,由逗號或空格分隔的字符串也可。
numbers=[5,4,10,30,22]
print(max(numbers))
                 得到:30。

strings=’s,t,r,I,n,g,S,T,R,I,N,G’
print(max(strings))
               得到:t。注意:字母按字母表的順序排列,且小寫字母排在大寫字母后。

        sum()

               求和。

        float()

                轉換爲浮點型,如12.0。

        int()

                求整,去掉小數點後的內容,如包含有浮點數的字符串轉爲整數直接用int()會報錯,應用float()。

        str()

                轉換爲字符串。

        open()

                打開文件

                Window

                        test_file=open(‘C:\\test.txt’)注意第一個反斜槓是標註後一個爲單純的反斜槓。

                 OSX

                        test_file=open(‘/users/sarahwinters/test.txt’)。

                  Ubuntu

                        test_file=open(‘/home/Jacob/test.txt’)。

text=test_file.read()
print(text)

        write()

test_file=open(‘C:\\myfile.txt’,’w’)    #第二參數w爲寫入而不是讀取
test_file.write(‘xxx’)
test_file.close()    ###################!!!!!!#######################關閉文件


參數

        具名參數

                和普通參數一樣,只是它不是按照函數所提供的參數順序來決定哪一個參數獲得哪一個值(第一個參數得到第一個值,第二個參數得到第二個值,第三個參數得到第三個值等等),明確地定義值的名字,所以可以寫成任何順序。當不是總要給每個參數都賦值時,具名參數可只爲我們想給它賦值的參數提供值。

def person(width,height):
print(‘I am %s feet wide, %s feet high’ % (width,height))
person(4,3)
                  或者(用具名參數)

person(height=3,width=4)

模塊

        引入模塊import xxx注意在Ubuntu中可能會出錯,需在Ubuntu軟件中心搜索python_tk安裝Tkinter_Writing Tk Applications with Python

        turtle

                海龜畫圖。開始總是頭朝右的,如果我們創建一個和現在對象同名的變量則舊的對象不一定消失

import turtle
t=turtle.Pen()

                turtle.Pen()

                        創建空白畫布t=turtle.Pen()應當會看到一個空白的方塊(畫布),中間有個箭頭。若海龜窗口出現在PythonShell程序窗口後面,當把鼠標挪到海龜窗口上時,光標變成了沙漏,這可能你不是通過桌面上的圖標來啓動Shell程序(如是Windows或蘋果),你點擊的是Windows開始菜單中IDLE(Python圖形界面),或者IDLE安裝有問題。嘗試退出並用桌面圖標來重啓Shell程序。如果還不行,嘗試用Python控制檯而不是Shell程序。Windows中,開始->所有程序,然後再Python3.2組中點擊Python(commandline),若在Ubuntu中,從應用菜單中打開中斷程序並輸入python

                 各類移動函數

t.forwoard()    #向前,參數像素,如50
t.left()    #向左轉,參數單位度,範圍0-360度
t.right()    #向右轉,參數單位度,範圍0-360度
t.backward()    #向後,參數像素,如50
t.up()    #提起畫筆,停止作畫
t.down()    #畫筆紙面觸碰,開始作畫

                   t.reset()

                           擦除畫布:清除畫布並把就愛你頭放回開始位置

                    t.clear()

                           清除畫布:清除屏幕,箭頭仍在原位置

                    t.color(R,G,B)

                           改變畫筆顏色,R、G、B對應紅、綠、藍,每個值範圍爲0-1,其中黑爲(0,0,0),白爲(1,1,1),金爲(0.9,0.75,0)

                    t.begin_fill()和t.end_fill()

                           給畫布上一個區域填色

                    t.circle()

                           參數爲圓的半徑畫圓,單位像素

                    t.setheading()

                           讓箭頭面向指定方向

                    t.goto()

t.goto(-250,250)
                            舉例:可選擇輪廓還是填充的方形
def mysquare(size,filled):
    if filled==True:
        t.begin_fill()
    for x in range(1,5):
        t.forward(size)
        t.left(90)
    if filled==True:
        t.end_fill()

mysqure(50,True)
mysqure(50,False)

        tkinter

                高級圖形,創建完整的應用程序

def hello():
    print(‘hello there’)

from tkinter import *
tk=TK()   #創建一個基本窗口,其上可以甚至用來畫圖的畫布
btn=Button(tk,text=”click me”,command=hello)   #tk爲在那裏做按鈕,第二參數是按鈕上面的文字
btn.pack()   #顯示按鈕
                 注意別忘記先關閉之前創建的窗口

                 canvas()

                         創建一個畫圖用的畫布,需要給畫布的寬度和高度,像素爲單位

canvas=Canvas(tk,width=500,height=500)
canvas.pack()

                 canvas.create_line()

                         畫線,單位像素,座標決定了像素橫向(從左到右)的距離和縱向(從上到下)的距離
canvas.create_line(0,0,500,500)
                         得到:
1   #一個標誌

                  canvas.create_rectangle()

                          畫長方形和方形,給定每個角的座標,左上角和右下角,這些座標是參照畫布左邊和頂邊的距離,第五個參數可填顏色值,金色’#ffd800’,其中#代表十六進制數,其佔位符爲%x

canvas.create_rectangle (10,10,50,50)

print(‘%02x’ % 15)   #得到的數字至少有兩位
                          得到:0f

                   colorchooser.askcolor()

                          直接打會顯示一個顏色選擇器,按確定後得到一個元組,包含另一個元組,其中有三個數字(紅綠藍的量分別爲0-255)索引爲[1]和一個字符串(三個數字的十六進制版本)索引爲[2]

                   canvas.create_arc()

                          畫圓弧,參數依次是包含圓弧的矩形左上角x座標,y座標,右下角x座標,y座標,extent指定圓弧角度,逆時針旋轉,注意的是,畫360度收圓的時候要用359代替,否則tkinter會把360當成0度,什麼都不會畫出來

canvas.create_arc(10,10,200,100,extent=180,style=ARC)

                   canvas.create_polygon()

                           畫多邊形,要給每個點座標

canvas.create_polygon(10,10,100,10,100,110,fill=””,outline=”black”)   #畫三角形

                   canvas.create_text()

                           顯示文字,只需要給兩個座標,文字x和y的位置,還有一個具名參數來接受要顯示的文字,當然還有很多參數

canvas.create_text(150,100,text=’There once was a man from Toulouse’,’fill=’red’,font(‘Times’,30))

                   canvas.create_image()

                           顯示圖片,注意只能裝入GIF圖片,要顯示其他要用其他模塊(http://www.pythonware.com/products/pil/)

my_image=PhotoImage(file=’c:\\test.gif’)   #把圖片裝入到變量中
canvas.create_image(0,0,anchor=NW,image=myimage)   #顯示圖片,(0,0)爲顯示圖片的位置,anchor=NW(northwest西北方)讓函數使用左上角作爲畫圖起始點,否則缺省則用圖片的中心作起始點,image指向裝入的圖片

                   canvas.create_polygon()

                           創建基本動畫。注意不同畫布間操作要關閉畫布

canvas.create_polygon(10,10,10,60,50,35)   #屏幕會打印一個數字,這是多邊形的id,用來指向這個形狀
for x in range(0,60)
    canvas.move(1,5,0)   #把任意畫好的對象移動到把x和y座標增加給定值的位置,此處把ID爲1的對象橫移5個像素,縱移0個像素,如果反方向移,參數可爲-5
    tk.update()   #強制屏幕更新重畫
    time.sleep(0.05)   #休息二十分之一秒0.05秒

                   讓對象對操作有反應

                           消息綁定,消息是在程序運行中發生的事件,tkinter會監視這些事件然後做出反應。要開始處理事件,即讓Python在事件發生是做些事情,首先要創建一個函數,告訴tkinter將某個特定函數綁到或者說關聯到某個特定事件上時就完成綁定,tkinter會自動調用這個函數來處理事件。

from tkinter import *
tk=Tk()
canvas=Canvas(tk,width=400,height=400)
canvas.pack()
canvas.create_polygon(10,10,10,60,50,35)
def movertriangle(event):   #只接受一個參數event,tkinter用它來給函數傳遞關於時間的信息
    if event.keysym==’Up’:   #keysym是key symbol鍵符號,是一個字符串,包含了實際按鍵的值
        canvas.move(1,0,-3)
    elif event.keysym==’Down’:
        canvas.move(1,0,3)
    elif event.keysym==’Left’:
        canvas.move(1,-3,0)
    else:
        canvas.move(1,3,0)
canvas.bind_all(‘<KeyPress-Return>’,movetriangle)   #該函數是告訴tkinter當特定時間發生時應該調用這個函數,第一個參數說明監視什麼時間,這裏是按下回車鍵,當KeyPress發生則調用movetriangle函數
                                 這裏還有

canvas.bind_all(‘<KeyPress-Up>’,movetriangle)
canvas.bind_all(‘<KeyPress-Down>’,movetriangle)
canvas.bind_all(‘<KeyPress-Left>’,movetriangle)
canvas.bind_all(‘<KeyPress-Right>’,movetriangle)
                                  注意,create_xxx等總會返回一個ID

                        canvas.itemconfig()

                                  改變對象屬性

canvas.itemconfig(對象ID,fill=’blue’)   #填充顏色改爲藍色
canvas.itemconfig(對象ID,outline=’red’)   #改輪廓線顏色

        time

                時間

import time

                time()

                        調用所返回的數字實際上是自1970年1月1日00:00:00以來的秒數

                        舉例:計算耗時

t1=time.time()
lots of code
t2=time.time()
                        則所用時間爲t2-t1,單位爲秒

                 time.asctime()

                        作爲一個字符串返回當前的日期和時間,以日期的元組爲參數,轉換時間,以可讀形式返回當前的日期和時間

                        舉例:帶參使用
t=(2007,5,27,10,30,48,6,0,0)    #參數從左到右依次是年,月,日,時,分,秒,星期幾,一年中的第幾天(這用0作爲佔位符),是否爲夏令時時間(0表不是,1表是)。這是一個含日期和時間的數據元組
print(time.asctime(t))

                 time.localtime()

                         把當前的日期和時間作爲一個對象返回

print(time.localtime())
                         得到:

time.struct_time(tm_year=2020,tm_mon=2,tm_mday=23,tm_hour=22,tm_min=18,tm_sec=39,tm_wday=0,tm_yday=73,tm_isdst=0)
                         繼續

t=time.localtime()
year=t[0]
month=t[1]
print(year)
                          得到:2020

print(month)
                          得到:2。注意對應位置

                 time.sleep()

                          單位秒

        sys

                輸入值

import sys

                sys.stdin.readline()

                        其中stdin是standard input縮寫,即標準輸入,從對象讀取,能讀取從鍵盤輸入的一行文本知道用戶按回車鍵readline用來讀取來自鍵盤的一行文本輸入,直到按回車鍵位置

v=sys.stdin.readline(x)    #x爲從頭讀得前x個含空格的字符
print(v)
                        注意imput和readline的區別在readlin可用一個參數來指定讀取多少個字符

                sys.exit()

                        選Yes則關閉,如報錯則需修改IDLE

                sys.stdout.write()

                         stdout是standard output標準輸出的縮寫,可向Shell程序或控制檯寫入對象,與print相似,但stdout是一個文件對象

sys.stdout.write(‘xxx’)    #當write結束時,返回它所寫入的字符個數

                sys.version

                         獲得Python的版本信息

print(sys.version)

        copy

                複製,可複製複雜類

import copy

                copy.copy()

                        淺拷貝,只拷貝祝對象list對象,並沒有拷貝其中的每個對象

harry=Animal(‘hippogriff’,6,’pink’)
harriet=copy.copy(harry)
print(harry.species)
                         得到:hippogriff
print(harriet.species)
                         得到:hippogriff
carrie=Animal(‘chimera’,4,’green polka dots’)
billy=Animal(‘bogill’,0,’paisley’)
my_animals=[harry,carrie,billy]
more_animals=copy.copy(my_animals)
print(more_animals[0].species)
                          得到:hippogriff
print(more_animals[1].species)
                           得到:chimera

my_animals[0].species=’ghoul’
print(my_animals[0].species)

                           得到:ghoul

print(more_animals[0].species)
                           得到:ghoul

sally=Animal(‘sphinx’,4,’sand’)
my_animals.append(sally)
print(len(my_animals))
                           得到:4
print(len(more_animals))
                           得到:3

                copy.deepcopy()

                          深拷貝,新列表內爲所有對象的拷貝

more_animals=copy.deepcopy(my_animals)
my_animals[0].species=’wyrm’
print(my_animals[0].species)
                           得到:wyrm

print(more_animals[0].species)
                           得到:ghoul

        keyword

import keyword

                keyword.iskeyword()

                        判斷該字符串是否爲Python關鍵詞

                keyword.kwlist

                        查看關鍵詞列表

print(keyword.iskeyword(‘if’))
                        得到:True
print(keyword.kwlist)
                        得到:

[‘False’,…,’xxx’]    #關鍵詞列表

        random

                獲得隨機數

import random

                random.randint(A,B)

                        A和B之間隨機得到一個整數

                random.choice()

                        列表中隨機選一個元素

                random.shuffle()

                        列表洗牌,打亂

desserts=[‘ice cream’,’pancakes’,…]
print(random.choice(desserts))
                        得到:隨意的其中一個
random.shuffle(desserts)
pirnt(desserts)
                        得到:順序不同的列表

                random.randrange(x)

                        傳入一個數字x,會返回一個在0和這個數字之間的隨機整數,但不包含x

                        舉例:猜數字遊戲

num=random.randint(1,100)
while True:
    print(‘Guass a number between 1 and 100’)
    guess=input()
    i=int(guess)
    if i==num:
        print(‘You guessed right’)
        break
    elif i<num
        print(‘Try higher’)
    elif i>num
        print(‘Try lower’)

        pickle

                醃菜,把Python對象轉換成可方便寫入到文件和從文件讀取的形式

import pickle
                寫入
open(‘save.dat’,’wb’)    #以二進制模式寫入
pickle.dump(數據,已打開文件)
save_file.close()
                讀取
open(‘save.dat’,’rb’)    #讀取二進制模式文件
pickle.load(文件句柄)
save_file.close()
                注意二進制文件:純文本文件中只可以包含人們可讀的字符。圖像、音樂文件、電影,還有序列化(被packle過)的Python對象中的信息並不總是對認可讀的

 

關鍵詞

        as

                縮短名字

import i_am_a_python_module_that_is_not_very_useful as notuseful

        assert

                斷言,用於聲明一段代碼必須爲真,是另一種捕獲代碼中的錯誤和問題的方式

mynumber=10
assert mynumber<5
                結果:因爲它爲10並不小於5,所以Python顯示錯誤信息,稱爲斷言錯誤

        class

                定義一種類型的對象。類可以有一個__init__函數,用於執行這個類的對象被創建時所需要執行的所有任務

class Car:
    def __init__(self,color):
        self.color=color

car1=Car(‘red’)
car2=Car(‘blue’)
print(car1.color)
                得到:red
print(car2.color)
                得到:blue

        def

                定義函數

def minutes(years):
    return years*365*24*60
minutes(10)
                 得到:5256000

        except

                 捕獲代碼中的問題

        finally

                 確保有錯誤發生時,某段代碼一定執行,通常是清理工作

        from

                 只引入某類自己,然後直接使用它,如不用turtel直接用Pen

from turtle import Pen
t=Pen()
                 如果某個模塊中有很多函數想用,又不想在使用他們時使用模塊名字,則用星號*引入模塊中的所有東西
from time import *
print(localtime())而不再是print(t.localtime())

          global

                 全局變量

          in

                 判斷某元素是否在一個元素集中的表達式裏

if 1 in [1,2,3,4]:
                 或者

if ‘pants’ in clothing_list:

          is

                 判斷是否相等

          lambda

                 創建匿名或說是內嵌函數

          not

                 取反

x=True
print(not x)
                 得到:False

                 或者

if ‘pants’ not in clothing_list:

        pass

                 暫時爲空,正常跳過

        raise

                產生一個錯誤

        try

                以except和finally結束

        with

                與try和finally相似,創建一個和對象相關的語句塊

        yield

                和return近似,但他用於一類特殊的對象,叫“生成器”(generator)。生成器在使用過程中創建值(也就是在需要的時候創建值),range函數的行爲就像一個生成器


本博客相關博文鏈接

[1]Python 2.7.6 配置 OpenCV 2.4.9方法:http://blog.csdn.net/liaoqix/article/details/46518039

[2]Visual Studio 2013 配置 OpenCV 2.4.9 方法:http://blog.csdn.net/liaoqix/article/details/45315971

[3]Python實現冒泡排序算法:http://blog.csdn.net/liaoqix/article/details/46692027


發佈了33 篇原創文章 · 獲贊 15 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章