【python測試開發棧】python基礎語法大盤點

周邊不少同窗在用python,可是偶爾會發現有人對python的基礎語法還不是特別瞭解,因此幫你們梳理了python的基礎語法(文中的介紹以python3爲例)。若是你已然是python大牛,能夠跳過這篇文章。java

編碼

python3的默認編碼格式是:UTF-8 ,換句話說也就是:若是不在文件頭部聲明編碼格式,python解釋器默認以UTF-8的方式來讀取python文件。做爲對比,咱們知道python2的默認編碼格式是ascii,因此假如在python2文件中使用了中文,必須在文件頭部聲明gbk編碼:python

# 修改編碼格式
#coding=gbk

# hello world
print ("Hello, Python!")複製代碼

這會告訴python解釋器,以gbk的方式來讀取python文件,這樣python解釋器就能正確的處理中文字符了。關於python編碼這一塊涉及的內容挺多,我會單獨再寫一篇文章來說解。async

標識符

通俗的講標識符就是:給計算機程序裏面的數據,起的名字,就比如現實世界中,每一個人都有名字同樣。在程序中比較常見的變量名、方法名、類名都屬於標識符,標識符有一些通用的規定:測試

  • 不能和關鍵字同名。(下一小節會提到關鍵字)
  • 標識符不能重名。(不過這個有必定的做用範圍,不一樣類型的標識符,做用範圍也不一樣。就比如,在你家裏,不可能有人和你重名吧!)
  • 只能由字母、數字、下劃線組成。可是不能以數字做爲開頭,同時字母大小寫是有區別的。
  • 命名規則:
    • 在java語言中,常見的是駝峯命名法 ,也就是全部單詞的首字母須要大寫,好比:聲明一個變量:firstCounter。須要注意的是對於 變量和方法,名稱的首個字母須要小寫。
    • 在python語言中,因其徹底遵循PEP8編碼格式,因此其命名方式是:對於變量用來鏈接,好比:firstcounter。須要注意的是Python中的類仍是使用的駝峯命名法。我的感受PEP8的命名方式不如駝峯命名法直觀,可是仍是建議你們遵循官方的命名建議。

python關鍵字

在python中預留了不少關鍵字,這些關鍵字是python解釋器的約定,好比:True和False,當咱們在使用關鍵字時,python解釋器就能知道具體的含義是什麼。關鍵字比較多,徹底不必記憶,平時工做中會常常用到,另外使用python內置的一個keyword模塊,也能打印出python全部的關鍵字。this

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']複製代碼

註釋

python中單行註釋可使用#,多行註釋可使用''' 或者"""""",另外須要注意Python的方法註釋是寫在方法體裏面的,這和java語言有區別。咱們來舉個例子:編碼

def test_method():
    """
     todo something
    :return:
    """
    # 這裏放你須要放的邏輯

    '''
        這裏是單引號多行註釋
        這裏是單引號多行註釋
        這裏是單引號多行註釋
    '''
    """
        這裏是雙引好多行註釋
        這裏是雙引好多行註釋
        這裏是雙引好多行註釋
    """
    pass複製代碼

代碼行與縮進

上面也提到,由於python是遵循PEP8規範的,因此有嚴格的縮進要求,其用縮進來表示代碼塊,不像java,用{}來表示一個代碼塊。舉個例子:spa

def test_code():
    ok = False
    # 正確的代碼縮進,同一級別的代碼縮進必須一致
    if ok:
        print("True")
        print("Answer")
    else:
        print("False")
        print("Answer")

    # 錯誤的代碼縮進,這樣至關於print("Answer")又在print("True")的下一級
    # 會拋出異常 IndentationError: unexpected indent
    if ok:
        print("True")
            print("Answer")
    else:
        print("False")
            print("Answer")複製代碼

因此建議你們平時在開發過程當中,使用pycharm等IDE,由於它能夠自動幫你檢查代碼的格式是否正確。code

import 與 from…import

在以前的文章裏咱們也詳細介紹過python模塊的導入方式:,這裏就簡單提一下二者的區別:orm

  • import通常是將整個module導入到項目中。
  • from…import能夠控制導入的粒度:能夠導入某個module的某個方法、或者多個方法。

格式化與打印

在python中咱們可使用print來打印內容,同時可使用'xxxx'.format()這種方法來格式化輸出內容,好比:cdn

def test_print():
    # 1. 打印內容後不換行,不加end參數,默認是換行的
    print('this is a test', end="")

    # 2. 使用String.format
    print("{}.{}".format("hello", "world"))

    # 3. 將輸出的值轉爲字符串—str,將值轉化爲適用於人閱讀的字符串形式
    x = 1/7
    print(str(x))

    # 4. 將輸出的值轉爲字符串—repr(),將值轉換成解釋器讀取的字符串形式
    x = 1/7
    print(repr(x))複製代碼

總結

上面總結了python一些基礎的用法和概念,算是給初學者對python的一個初印象,後續會圍繞着python測試開發技術棧相關技術進行更深層次的介紹。

相關文章
相關標籤/搜索