Python學習-第一天

# 學習筆記-Python第一天

Python與Java:

優勢:尚不知道-以後補充

1. Idle使用(開發環境)

$find /usr idle.py

$python XXXX/idle.py

IDLE can't import Tkinter. Your Python may not be configured for Tk. 錯誤解決

sudo yum install python-tools 


註釋:與shell腳本語言一樣,使用#號標誌此行爲註釋


算數運算符:+,-,*,/,//,%,**,加減乘與Java中的一致,下面看看異同

/:在後來的版本中變爲真正的除法,例:5/4 --> 1.25

//:地板除法,會捨棄小數位,返回的數字爲比得到結果小的最接近的整數,例:-1//2 --> -1,5.0//2 --> 2.0

**:冪運算,優先級爲最高,例:5**2 --> 25

比較運算符和邏輯運算符: <,<=,>,>=,==,!=,<>,and,or,not 返回結果爲True 或者 False


變量和賦值:Python是動態語言,不需要預先聲明變量的類型(Java是強類型語言),大小寫敏感(Java大小寫也是敏感的)

python的++運算和--運算符,python不支持++和--運算,會被解析成 ++n --> +(+n)=n,--也是同樣的道理

數字:python支持五種基本數字類型

整數類型:int - 有符號整數 long - 長整數(類似與java中的BigInteger),bool - 布爾型;float - 浮點數,complex -  複數

python2.3開始,整型和長整形正在逐步統一爲一種整數類型,結果會被自動轉換,無需開發人員關心

布爾型是一種特殊的整數類型,True 爲1,False爲0(記住python爲大小寫敏感)

注:python的第6中數字類型,但是由於不是內建類型,需要導入decimal模塊才能使用

字符串:python字符串被定義爲引號之間的字符集和(雙引號和單引號皆可)

字符串操作(index做爲字符的下標,從0開始),根據索引獲取指定位置的字符[index],字符串切割[start:end](與Java的substr函數得到的結果一致),加號(+)字符串連接操作(與java中一致),乘號(*)用於字符串重複操作(例:'aaaaa' * 2 -->'aaaaaaaaaa')


列表和元祖:可以把列表和元祖當成數組,它能保存任何類型的python對象,可以使用下標進行隨機訪問,列表元素用[]包裹(元素的個數和元素的值可以改變),元祖元素用()包裹(不可更改元祖內的元素,我這裏的理解是對對象的引用不能改變,但是可以更改對象裏面的屬性或者值)

操作(列表和元祖都可以進行的操作):[index]-->返回指定下標的元素,[start:end]包含前不包含後,下標0開始,至於如何更改列表包含元素的個數尚不知道,待後期學習瞭解


字典:字典是Python裏面的映射數據類型,類似Java中的HashMap/HashTable,由key-value對組成,字典元素用大括號{}包裹

例:dict={1:'dict1','2':'dict2'},dict[1]-->'dict1',當key不存在,拋出KeyError錯誤


代碼塊及縮進對其:java中縮進只是爲了代碼更爲美觀,使用{}來限制作用域,python中代碼的縮進代表了代碼的邏輯,根據縮進代表了代碼屬於哪個代碼塊(爲了可讀性更高,作爲第一次接觸python,個人感覺是稍微有點彆扭),但是Python的兩大特性:簡潔和可讀性好,那我們只好去適應了


for循環和range()內建函數(內建給我的感覺就是無需手動導包就可直接使用):Python的for循環給我的感覺是和pl/sql裏面的for循環類似(Java中的枚舉),接受可迭代的對象作爲其參數,每次迭代其中的一個元素。如下圖:


如何實現輸出不換行:print e,  最後加個逗號,爲了輸出美觀會自動加一個空格,這裏說一下佔位符:%s,%d,例:print 'a is %s %d' % (1,2)

range()函數,接受一個數值,生成一個數值列表


列表解析:也許這個有點顛覆我們平時的編程習慣,如下圖生成的列表,但是不能運用與元祖



文件和內建函數open(),file():追加文件使用w+模式打開,file函數與open函數功能類似



錯誤和異常:python也需要編譯文件,在編譯時會檢查語法錯誤,在程序運行時檢測錯誤,當檢測到一個錯誤,python解釋器就拋出一個異常,try-except-fianlly就是用來捕獲處理異常的(與Java類似),當然開發人員也可以顯示raise一個異常.


函數:函數定義使用def關鍵字定義,調用函數使用-->函數名() 的方式調用,如果函數中沒有return語句,則自動返回None



類:類是面向對象編程的核心,他扮演相關數據及邏輯的容器角色。定義類使用class關鍵字(與Java很像),可以提供一個可選的父類揮着積累,如果沒有合適的基類,則使用object作爲基類。



模塊:模塊是一種組織形式,他將彼此有關係的代碼組織到一個個獨立的文件中,當你創建了一個python源文件,模塊名稱就是不帶.py後綴的名稱,例如:test.py -->import test使用


此文只做個人學習筆記使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章