滴水穿石--python 學習筆記--入門 (1)


1、程序輸出,print語句

        跟C語言中的printf函數很類似,當在代碼中使用print語句即可輸出想要看到的變量內容,如可以先把一個字符串復制給str,然后用print函數顯示變量內容,如下:
         str = "hello python"
        print str

        Python的print語句,與字符串運算符(%)結合使用,可實現字符串替換功能,如:print "%s is number %d" % ("python",1),語句將輸出python is number 1
        python中的重定向:1)以標准錯誤輸出:
        import sys
        print >> sys.stderr, 'Fatal error:invalid input!'
2)輸出到日志文件:
logfile = open('D:\log.txt','a')
print >> logfile, 'Fatal error:invalid input!'
logfile.close();
 

2、程序輸入,raw_input()函數
        從用戶得到數據輸入的最容易的方法是使用raw_input()函數,它讀取標准輸入,並將讀取到的數據賦值給制定的變量,可以使用int()內建函數將用戶輸入的字符串轉換成整數,如下例子:

        1)用戶輸入
username = raw_input('Enter your name:')
print '%s, welcome' % (username)
        2)使用內建函數int()轉換
num = raw_input('Enter a number:')
print 'Doubling your number is: %d' % (int(num)*2)
注:在遇到陌生函數的時候使用函數help(函數名)來得到相應的幫助信息
 
3、注釋
        和大部分腳本及Unix-Shell語言一樣,Python也是用#符號標識注釋,從#開始到一行結束內容均為注釋。
        #one comment
        有一種,叫文檔字符串特別注釋,可以在模塊、類或者函數的其實添加一個字符串,起到在線文檔的功能,這跟Java的文檔注釋類似。
        def foo():
            "this is a doc string"
            return True
 
4、運算符
        python中的標准算術運算符+    -    *    /    //    %    ** (加、減、乘、除和取余是標准運算符,單斜杠作傳統除法,雙斜杠用作浮點除法,對結果四舍五入),傳統除法是指兩個操作數都是整數的話,執行地板除(取比商小的最大整數)。雙星號(**)表示乘方運算符。
        python中的標准比較運算符<    <=    >    >=    ==    !=    <>表示小於、小於等於、大於、大於等於、不等、不等(Pascal風格,漸漸淘汰),運算結果返回布爾值(True/False)
        python中提供了邏輯運算符 and or not 將任意表達式連接在一起,並得到一個布爾值。
 
5、變量和賦值
        python中的變量命名規則和大多數高級語言一樣,變量僅僅是一些字符開頭的標識符即,字母或者下划線開頭,其他的字符可以是字母,數字或者下划線,且大小寫敏感。
        python是動態類型語言,也就是說不需要預先聲明變量類型,變量的類型和值在賦值那一刻被初始化,賦值通過等號來執行。注:python不支持C中的自增1或者自減1運算符
 
6、數字
        python支持五種基本數字類型,其中三種是整數類型。
            int    (有符號整數)
            long    (長整數)
            bool    (布爾值)
            float    (浮點值)
            complex    (復數)
        注:其實還有第六種數字類型:decimal,用於十進制浮點數,不是內建類型,需要導入decimal模塊才可以使用這種類型
 
7、字符串
        python中字符串被定義為引號之間的字符集合,支持使用成對單引號或雙引號,三引號(三個連續的單引號或者雙引號)可以包含特殊字符。使用 索引運算符([ ])和切片運算符([ : ])可以得到子字符串。字符串有其特殊的索引規則:第一個字符的索引是0,最后一個字符索引是-1
        加號(+)用於字符串連接運算,星號(*)則用於字符串重復。
 
8、列表和元組
        可以講列表和元組當成普通的數組,他能保存任意類型的python對象 ,和數組一樣,通過從0開始的數字索引訪問元素,但是列表和元組可以存儲不同類型的對象。
        列表和元組有基礎重要的區別,列表元素用中括號([  ])包裹,元素個數及元素的值可以改變。元組元素用小括號(())包裹,不可以更改(盡管他們的內容可以)。元組可以看成是只讀列表。通過切片運算符([ ]和[ : ])可以得到子集,這一點與字符串的使用方法一樣。測試如下:

9、字典
        字典是python中的映射數據類型,工作原理類似Perl中的關聯數組或者哈希表,由鍵值對(key-value)構成,幾乎所有類型的python對象都可以作為鍵,一般以數字或者字符串最為常用。值可以是任意類型的python對象,字典元素用大括號({ })包裹。

 
10、代碼塊及縮進對齊
        代碼塊通過縮進對齊表達代碼邏輯而不是使用大括號,因為沒有了額外的字符,程序的可讀性更高,而且縮進完全清楚地表達一個語句屬於哪一個代碼塊。當然,代碼塊也可以只有一個語句組成。
        python的兩大特性,一是簡潔,而是可讀性好。
 
11、if語句
        標准的if條件語句的語法如下:
        if expression:
            if_suite
        如果表達式的值非0或者為布爾值True,則代碼組if_suite被執行;否則去執行下一條語句。代碼組是一個python術語,它由一條或多條語句組成,表示一個子代碼塊。Python與其它語言不同,條件表達式不需要括號括起來。
        if x < .0:
            print '"x" must be at least 0!'
        python當然也支持else語句,具體語法:
                if expression :
                    if_suite
                else:
                    else_suite
        同樣,還支持else-if,使用elif,具體語法:
                if expression1:
                    if_suite
                elif expression2:
                    elif_suite
                else
                    else_suite
 
12、while循環
        標准的while循環條件與if一樣,要求使用縮進來分割每個子代碼塊。如下格式
        while expression:
            while_suite
        while語句會被連續不斷地循環執行,直到表達式的值變成0或者False;接着python會執行下一句代碼。

 
13、for循環和range()內建函數
        python中的for循環與傳統的for循環(計數器循環)不太一樣,更像Shell腳本里的foreach迭代。python中的for接受可迭代對象(如:序列或者迭代器)作為參數,每次迭代其中一個元素。         

        print語句默認會給每一行添加一個換行符。只要在print語句的最后添加一個逗號(,)可以改變這個行為,如上例。注:,沒有任何參數的print語句,用來輸出一個換行符。
        python提供了一個range()內建函數來生成列表,接受一個數值范圍,生成一個列表。
        
        range()函數經常和len()函數一起用於字符串索引,在這里我們要顯示每一個元素及其索引值。如下所示:

        這些循環有一個約束,就是要么循環索引要么循環元素,但python2.3新增了enumerate()函數,解決了這個缺陷:

 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM