Python學習筆記(0)


Python 是什么類型的語言

Python是腳本語言

Python下載地址:https://www.python.org/downloads/

Python版本:Python 3.4.2 - 64bit

        腳本語言(Scripting language)是電腦編程語言,因此也能讓開發者藉以編寫出讓電腦聽命行事的程序。以簡單的方式快速完成某些復雜的事情通常是創造腳本語言的重要原則,基於這項原則,使得腳本語言通常比 C語言、C++語言 或 Java 之類的系統編程語言要簡單容易。
也讓腳本語言另有一些屬於腳本語言的特性:

  • 語法和結構通常比較簡單
  • 學習和使用通常比較簡單
  • 通常以容易修改程序的“解釋”作為運行方式,而不需要“編譯”
  • 程序的開發產能優於運行性能

            一個腳本可以使得本來要用鍵盤進行的相互式操作自動化。一個Shell腳本主要由原本需要在命令行輸入的命令組成,或在一個文本編輯器中,用戶可以使用腳本來把一些常用的操作組合成一組串行。主要用來書寫這種腳本的語言叫做腳本語言。很多腳本語言實際上已經超過簡單的用戶命令串行的指令,還可以編寫更復雜的程序。

     

    IDLE 是什么?

            IDLE是一個Python Shell,shell的意思就是“外殼”,基本上來說,就是一個通過鍵入文本與程序交互的途徑!像我們Windows那個cmd窗口,像Linux那個黑乎乎的命令窗口,他們都是shell,利用他們,我們就可以給操作系統下達命令。同樣的,我們可以利用IDLE這個shell與Python進行互動。安裝Python后,在搜索中直接搜索IDLE就會顯示了。

    image

     

    打開IDLE,看到”>>>”這個提示符,“它”的含義是告訴我們,Python已經准備好了,在等着鍵入Python指令呢。

    image

     

    我們可以試着鍵入指令:

    >>> print("I love Python")

     

    image

    可以看到,Python的IDLE直接打印了字符串I love Python

     

    可以試一下鍵入錯誤的指令:

    >>> System.out.println("I love Python");
    Traceback (most recent call last):
      File "<pyshell#1>", line 1, in <module>
        System.out.println("I love Python")
    NameError: name 'System' is not defined

    發現IDLE直接給我們報錯了,並且很友善的提示我們,NameError: name 'System' is not defined,System這個東西沒有定義

     

    試着鍵入Python2的語法:

    >>> print "I love Python"
    SyntaxError: Missing parentheses in call to 'print'

    它會告訴我們,是一個錯誤的語法。

     

    鍵入了很多錯誤的信息,試着鍵入正確的信息,比如計算:

    >>> print(5 + 8)
    13

     

    在IDLE中,打印計算,甚至可以不用print()函數來打印,可以直接輸入數字計算,如:

    # 相加
    >>> 5 + 8
    13
    
    # 相減,並且輸出負數
    >>> 5 - 8
    -3
    
    # 相減, 輸出是正數
    >>> 9 - 5
    4
    
    # 相乘
    >>> 2 * 3
    6
    
    # 相除,輸出是個浮點型的小數
    >>> 9 / 3
    3.0
    
    # 如果想要輸出整數,需要用兩個除號“//”
    >>> 9 // 3
    3

     

    不僅可以當計算器來用,還可以處理非常大的數字計算:

    >>> 1234567890123456789 * 9876543210987654321
    12193263113702179522374638011112635269

     

    還可以用來字符串相加:

    # 將字符串相加
    >>> 'I' + 'love' + 'Python'
    'IlovePython'
    
    # 字符串相加后太丑了,我們在單詞后面加上空格
    >>> 'I' + ' ' + 'love' + ' ' + 'Python' + '!'
    'I love Python!'
    
    # 中文與英文相加
    >>> "" + "" + "Python"
    '我愛Python'

     

    Python不僅就字符串拼接、相加這么簡單,還可以使用字符串相乘:

    >>> 'I love Python! ' * 3
    'I love Python! I love Python! I love Python! '

     

    當然,並不是所有字符串相乘都可以,比如字符串乘以字符串,就會報錯,Python還沒有那么只能,字符串的除法,減法都會報錯:

    # 字符串與數字相加,報錯
    >>> 'I love Python' + 5
    Traceback (most recent call last):
      File "<pyshell#7>", line 1, in <module>
        'I love Python' + 5
    TypeError: Can't convert 'int' object to str implicitly
    
    # 字符串與字符串相乘,報錯
    >>> 'I love Python!' * 'love'
    Traceback (most recent call last):
      File "<pyshell#40>", line 1, in <module>
        'I love Python!' * 'love'
    TypeError: can't multiply sequence by non-int of type 'str'
    
    # 字符串相減,報錯
    >>> 'I love Python!' - 'love'
    Traceback (most recent call last):
      File "<pyshell#41>", line 1, in <module>
        'I love Python!' - 'love'
    TypeError: unsupported operand type(s) for -: 'str' and 'str'
    
    # 字符串相除,報錯
    >>> 'I love Python!' / 3
    Traceback (most recent call last):
      File "<pyshell#42>", line 1, in <module>
        'I love Python!' / 3
    TypeError: unsupported operand type(s) for /: 'str' and 'int'

    為什么>>>print('I love fishc.com ' * 5)可以正常執行,但 >>>print('I love fishc.com ' + 5) 卻報錯?

            在 Python 中不能把兩個完全不同的東西加在一起,比如說數字和文本,正是這個原因,>>>print('I love Python ' + 5) 才會報錯。這就像是在說“蒼井空加上5會是多少?”一樣沒有多大意義!不過乘以一個整數來翻倍就具有一定的意義了,前邊的例子就是將 "I love Python" 這個字符串打印五次。 

     

     

    print()的作用是什么?

    說了這么多,都把print()忘記了,那么print()是什么呢?

    print() 會在輸出窗口中顯示一些文本。我們可以在IDLE中輸入help(print)來尋求幫助

    image

    其中比較有用的是print的內置方法sep和end

    sep---在字符串之間插入值,默認是一個空格,如:

    # print中,每個字符串是用“,”逗號隔開的,默認是一個空格
    >>> print('我是第一個字符串', '我是第二個字符串')
    我是第一個字符串 我是第二個字符串
    
    # 如果我想讓兩個字符串中沒有空格,就可以使用sep了
    >>> print('我是第一個字符串', '我是第二個字符串', sep='')
    我是第一個字符串我是第二個字符串
    
    # 當然,也可以使用其他的文字來隔開字符串。
    >>> print('我是第一個字符串', '我是第二個字符串', sep='---我的存在,就是為了隔開你們---')
    我是第一個字符串---我的存在,就是為了隔開你們---我是第二個字符串
    
    # 使用逗號來隔開字符串,為了效果明顯,估計多加了很多逗號~
    >>> print('I', 'love', 'Python', sep=',,,,,')
    I,,,,,love,,,,,Python
    
    # \n是換行符
    >>> print('我是第一個字符串', '我是第二個字符串', sep='\n')
    我是第一個字符串
    我是第二個字符串

     

    end---在字符串結尾追加一個值,默認是換行,如:

    # 在IDLE中,輸入print點擊回車,就直接輸出了,如果使用分號,就可以在一行寫上兩個指令在輸出,Python的IDLE是不是很方便~
    >>> print('我在第一行!');print('我在第二行!')
    我在第一行!
    我在第二行!
    
    # 如果不加end的話,最后一個值默認是\n,但是如果加了end=‘’,就把\n給去掉了,變成一個空的字符串,所以兩個print就可以在一行顯示了~
    >>> print('我在第一行!', end='');print('我在第二行!')
    我在第一行!我在第二行!
    
    >>> print('我在第一行!', end='---就是不讓換行---');print('我在第二行!')
    我在第一行!---就是不讓換行---我在第二行!

     

    如果我需要在一個字符串中嵌入一個雙引號,可以這樣做:

    # 我們在"雙引號"中,加上"雙引號"的字符串,Python會以為這段話已經結束了,以為下個"雙引號"開始輸入下一段話,所以'它'會很善解人意的提示你“語法錯誤”
    >>> print("Python我非常喜歡"",你們喜歡嗎?")
    SyntaxError: invalid syntax
    
    # 我們可以使用反斜杠來把"雙引號"給注釋掉
    >>> print("Python我非常喜歡\"它\",你們喜歡嗎?")
    Python我非常喜歡"",你們喜歡嗎?
    
    # 我們可以在'單引號'中輸入字符串,然后字符串中需要加"雙引號"的位置使用雙引號
    >>> print('Python我非常喜歡"它",你們喜歡嗎?')
    Python我非常喜歡"",你們喜歡嗎?
    
    # 當然,我們也可以在雙引號中,輸入單引號
    >>> print("What's your name? \nMy name's Python")
    What's your name? 
    
    My name's Python

     

    輸入 >>>'Python'與輸入 >>>print('Python') 有何不同?

    直接輸入是將結果及類型打印到屏幕上,而print是將結果打印到屏幕上,自己試試並觀察結果!

    # 輸出結果是有引號的
    >>> 'Python'
    'Python'
    
    # 輸出結果沒有引號
    >>> print('Python')
    Python

     

    如果在文本編輯器中,上面的問題就明顯了。比如在IDLE中,使用“Ctrl + N”來打開文本編輯器

    直接打印'Python',點擊F5運行,發現IDLE中,什么都沒有

    image

     

    加上print()之后,就可以打印出來了

    image

    設置環境變量

    設置你的操作系統的環境變量,以便可以輕松進入 Python 環境

    反鍵計算機->屬性->高級系統設置->環境變量->系統變量選擇"Path"->編輯->在變量值最后加上Python的安裝目錄

    image

     

    設置好了,在運行中鍵入CMD,輸入python,可以測試。執行python后,就像IDLE一樣。不過是個黑乎乎的窗口。

    image

     

    為什么我們要使用 Python3?

    為什么我們要使用Python?Python2到底有什么問題?看起來很多程序員依然在使用Python2?

            確實還有相當多的程序員在使用 Python2,不過 Python3 才是 Python 發展的未來,就像 XP 和 WIN7 一樣。其實Python3 中的新特性確實很妙,很值得進行深入學習!感覺如果了解了 Python3,Python2 的代碼閱讀對於你來說根本不成問題!


免責聲明!

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



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