1.在pom.xml加入SpringSecurity的依賴 <!-- SpringSecurity對Web應用進行許可權管理 --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-secu ...
3.1 Python特性
Python是為可讀性設計的,與英語有一些相似之處,並受到數學的影響。比如:
- Python使用新行來完成命令,而不像通常使用分號或括弧的其他編程語言。
- Python依賴縮進,使用空格來定義範圍;例如迴圈、函數和類的範圍。其他編程語言通常使用花括弧或關鍵字來實現此目的。
- Python中沒有單個字元,單字元被認為是1個字元的字元串。
- 對象有類型,變數無類型
3.1.1 Python註釋
#
:單行註釋,Python解釋器會忽略#
號後面跟著的所有的字元。
>>> # 這裡的內容是註釋
'''
或 """
:多行註釋。Python解釋器會忽略兩組'''
或 """
符號內多行內容。
"""
這是註釋的第1行
這是註釋的第2行
"""
3.1.2 Python物理行和邏輯行
物理行
:當我們編寫程式是在軟體中看到的一行。
邏輯行
:Python看到並識別為一條單獨語句。根據顯式行拼接
或隱式行拼接
規則,一個或多個物理行可組成邏輯行。
Python預設一個物理行為一個邏輯行。預設情況下,Python鼓勵一行寫一個語句的用法,這使代碼更具有可讀性。
3.1.2.1 物理行顯式拼接成邏輯行
兩個及兩個以上的物理行可用反斜杠\
顯式地拼接為一個邏輯行,規則如下:以不在字元串或註釋內的反斜杠結尾時,物理行將與下一行拼接成一個邏輯行,並刪除反斜杠及其後的換行符。例如:
if 1900 < year < 2100 and 1 <= month <= 12 \
and 1 <= day <= 31 and 0 <= hour < 24 \
and 0 <= minute < 60 and 0 <= second < 60:
return 1
註意:以反斜杠結尾的行,不能加註釋;反斜杠也不能拼接註釋。
3.1.2.2 物理行隱式拼接成邏輯行
圓括弧、方括弧、花括弧內的表達式可以分成多個物理行,不必使用反斜杠。例如:
month_names = ['Januari', 'Februari', 'Maart', # These are the
'April', 'Mei', 'Juni', # Dutch names
'Juli', 'Augustus', 'September', # for the months
'Oktober', 'November', 'December'] # of the year
說明:隱式行拼接可含註釋;後續行的縮進並不重要;還支持空的後續行。
3.1.2.3 邏輯行拼接成物理行
Python預設將;
作為邏輯行的結束符號。通過使用;
可以將多條語句拼接成一條物理行。
x=5;print(x);
3.1.3 Python編碼聲明
Python 腳本第一或第二行的註釋匹配正則表達式coding[=:]\s*([-\w.]+)
時,該註釋會被當作編碼聲明;這個表達式的第一組指定了源碼文件的編碼。編碼聲明必須獨占一行,在第二行時,則第一行必須也是註釋。編碼表達式的形式如下:
# -*- coding: <encoding-name> -*-
我們在實際編程中,可以在腳本的第一句寫:
# encoding: utf-8
上面代碼的主要作用是指定文件編碼為UTF-8, 因為Python2.x一般預設的是ASCII碼,如果要在文件裡面寫中文,運行時會出現亂碼,加上這句之後會把文件編碼強制轉換為UTF-8運行時就不會出現亂碼了。
好在預設情況下,Python3.x 源碼文件以 UTF-8 編碼,所有字元串都是 unicode 字元串。當然也可以為源碼文件指定不同的編碼,比如:
# -*- coding: cp-1252 -*-
上述定義允許在源文件中使用 Windows-1252 字元集中的字元編碼,對應適合語言為保加利亞語、白羅斯語、馬其頓語、俄語、塞爾維亞語。
3.1.4 Python縮進
在用Python編寫程式時經常會遇到語句塊,例如迴圈、函數和類的範圍。其他編程語言通常使用花括弧來實現此目的。但是Python是通過嚴格數量的縮進(空格)來實現的。Python這門語言在編寫程式的時候對縮進及其敏感。一般預設每一層語句塊都向右縮進'4'個空格(可以在編輯器中修改)。這使得Python編寫後的程式極具美感且省下了大量無用的行。
實際編寫中,在使用編輯器或IDE時,一般使用Tab
鍵(製表)代替空格。畢竟誰也不想因為縮進而每次要按4次空格。最好不要混用Tab
鍵(製表)和空格進行縮進,因為空格數量與製表符相關,由此很容易產生的不一致將導致不能正常識別縮進層次,從而觸發TabError
報錯。
3.1.4.1 縮進規則
1、邏輯行的首行
需要頂格,即無縮進(也就是一份源碼的第一個邏輯行)
2、相同邏輯層保持相同的縮進
3、:
標記一個新的邏輯層,增加縮進表示進入下一個代碼層,減少縮進表示返回上一個代碼層
3.1.5 Python空行
函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。
空行與代碼縮進不同,空行並不是 Python 語法的一部分。書寫時不插入空行,Python 解釋器運行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的代碼,便於日後代碼的維護或重構。
說明:空行也是程式代碼的一部分。
3.1.6 Python標識符
標識符(也稱為名稱),其規則如下:
- 第一個字元必須是字母表中字母或下劃線
_
。 - 標識符的其他的部分由字母、數字和下劃線組成。
- 標識符的長度沒有限制,但區分大小寫。
- 在 Python 3 中,可以用中文作為標識符,非 ASCII 標識符也是允許的了。
練習
1、熟悉Python以上特性並練習和掌握。