python學習 —簡明 Python 教程

來源:互聯網
上載者:User
文章目錄
  • self == java的this

為什麼要用python,開發效率高,可移植.

文法:

字串:

1,使用單引號(')==使用雙引號(")==java雙引號(")

2,使用三引號('''或""") ,可以合并多行

3,轉義,與java的‘\’類似。注意(在一個字串中,行末的單獨一個反斜線表示字串在下一行繼續,而不是開始一個新的行。)

4,自然字串通過給字串加上首碼rR來指定。

5,字串不可變,與java類似。

6,字串會按字面意義級聯。

變數:(與java類似)

對象:在python中任何東西都是對象

強烈建議:堅持在每個物理行唯寫一句邏輯行

python對縮排要求嚴格

運算子:與java類似。

流程式控制制:

if:

if guess == number:
    print 'Congratulations, you guessed it.' # New block starts here
    print "(but you do not win any prizes!)" # New block ends here
elif guess < number:
    print 'No, it is a little higher than that' # Another block
    # You can do whatever you want in a block ...
else:
    print 'No, it is a little lower than that'
    # you must have guess > number to reach here

while:

while running:
    guess = int(raw_input('Enter an integer : '))

for :

for i in range(1, 5):
    print i

break:

break語句是用來 終止 迴圈語句的,即哪怕迴圈條件沒有稱為False或序列還沒有被完全遞迴,也停止執行迴圈語句。

一個重要的注釋是,如果你從forwhile迴圈中 終止 ,任何對應的迴圈else塊將執行。

continue:

continue語句被用來告訴Python跳過當前迴圈塊中的剩餘語句,然後 繼續 進行下一輪迴圈。

 

函數:

#!/usr/bin/python
# Filename: func_doc.py

def printMax(x, y):
    '''Prints the maximum of two numbers.
    The two values must be integers.'''

    x = int(x) # convert to integers, if possible
    y = int(y)
    if x > y:
        print x, 'is maximum'
    else:
        print y, 'is maximum'
printMax(3, 5)
print printMax.__doc__

模組:

import __name__==‘__main__’ 表示主程式

你可以使用內建的dir函數來列出模組定義的標識符。標識符有函數、類和變數。

 

資料結構:

數組:zoo = ('wolf', 'elephant', 'penguin'),zoo[1],zoo[0]

map:注意,你只能使用不可變的對象(比如字串)來作為字典的鍵,但是你可以不可變或可變的對象作為字典的值。基本說來就是,你應該只使用簡單的對象作為鍵。

ab = {       'Swaroop'   : 'swaroopch@byteofpython.info',
             'Larry'     : 'larry@wall.org',
             'Matsumoto' : 'matz@ruby-lang.org',
             'Spammer'   : 'spammer@hotmail.com'
     }

ab[‘Larry’],len(ab)

list:

shoplist = ['apple', 'mango', 'carrot', 'banana']

shoplist.sort(),shoplist.append('rice')

list數組十分類似,只不過數組和字串一樣是 不可變的 即你不能修改數組.

序列:list、數組和字串都是序列,但是序列是什麼,它們為什麼如此特別呢?序列的兩個主要特點是索引操作符和切片操作符。索引操作符讓我們可以從序列中抓取一個特定項目。切片操作符讓我們能夠擷取序列的一個切片,即一部分序列。

shoplist[1:3],shoplist[2:],shoplist[:],shoplist[-1],shoplist[0],這些返回的都是拷貝。

引用;當你建立一個對象並給它賦一個變數的時候,這個變數僅僅 引用 那個對象,而不是表示這個對象本身!

物件導向:

self == java的this

__init__方法:類似java的構造方法

__del__:對象消失的時候調用。類型java的finalizne

類的變數 由一個類的所有對象(執行個體)共用使用。只有一個類變數的拷貝,所以當某個對象對類的變數做了改動的時候,這個改動會反映到所有其他的執行個體上。

對象的變數 由類的每個對象/執行個體擁有。因此每個對象有自己對這個域的一份拷貝,即它們不是共用的,在同一個類的不同執行個體中,雖然對象的變數有相同的名稱,但是是互不相關的。通過一個例子會使這個易於理解。

Python中所有的類成員(包括資料成員)都是 公用的 ,所有的方法都是 有效 。
只有一個例外:如果你使用的資料成員名稱以 雙底線首碼 比如__privatevar,Python的名稱管理體系會有效地把它作為私人變數。
這樣就有一個慣例,如果某個變數只想在類或對象中使用,就應該以單底線首碼。而其他的名稱都將作為公用的,可以被其他類/對象使用。記住這隻是一個慣例,並不是Python所要求的(與雙底線首碼不同)。
同樣,注意__del__方法與 destructor 的概念類似。

繼承:

class Teacher(SchoolMember):
    '''Represents a teacher.'''
    def __init__(self, name, age, salary):
        SchoolMember.__init__(self, name, age)
        self.salary = salary

        print '(Initialized Teacher: %s)' % self.name
    def tell(self):
        SchoolMember.tell(self)

        print 'Salary: "%d"' % self.salary

輸入輸出:

檔案:

你可以通過建立一個file類的對象來開啟一個檔案,分別使用file類的readreadlinewrite方法來恰當地讀寫檔案。對檔案的讀寫能力依賴於你在開啟檔案時指定的模式。最後,當你完成對檔案的操作的時候,你調用close方法來告訴Python我們完成了對檔案的使用。

f = file('poem.txt', 'w') # open for 'w'riting
f.write(poem) # write text to file
f.close() # close the file

儲存空間:

Python提供一個標準的模組,稱為pickle。使用它你可以在一個檔案中儲存任何Python對象,之後你又可以把它完整無缺地取出來。這被稱為 持久地 儲存對象。

import cPickle as p
#import pickle as p

shoplist = ['apple', 'mango', 'carrot']
# Write to the file
f = file(shoplistfile, 'w')
p.dump(shoplist, f)
# dump the object to a file
f.close()

# Read back from the storage

f = file(shoplistfile)
storedlist = p.load(f)

異常:

class ShortInputException(Exception):
    '''A user-defined exception class.'''
    def __init__(self, length, atleast):
        Exception.__init__(self)
        self.length = length
        self.atleast = atleast

try:
    s =
raw_input('Enter something --> ')
    if len(s) < 3:
        raise ShortInputException(
len(s), 3)
    # Other work can continue as usual here
except EOFError:
    print '\nWhy did you do an EOF on me?'
except ShortInputException, x:
    print 'ShortInputException: The input was of length %d, \
          was expecting at least %d'
% (x.length, x.atleast)
finally:
    print 'No exception was raised.'

標準庫,and more others

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.