Python 3.x 基本語法

編碼python

默認狀況下,Python 3 源碼文件以UTF-8編碼,全部字符串都是unicode字符串。固然你也能夠爲源碼文件指定不一樣的編碼:express

#-*- coding:gbk -*-  或者 # coding=gbk   符號 = 兩邊沒有空格app

標示符ide

  • 第一個字符必須是字母表中的字母或下劃線
  • 標示符的其餘部分由字母、數字和下劃線組成
  • 標示符對大小寫敏感

在Python 3 中,非 ASCII 標示符也是容許的。函數

Python 保留字ui

保留字即關鍵字,咱們不能把他們用做任何標示符的名稱。Python 的標準庫提供了一個 keyword 模塊,能夠輸出當前版本的全部關鍵字:this

>>>import keyword編碼

>>>keyword.kwlistspa

['False','None','True','and','as','assert','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 中單行註釋以 # 開頭,多行註釋以'''或"""開頭和結尾,也能夠用多個#號,實例以下:

#!/usr/bin/env python

# 第一個註釋
print ("Hello, Python!") # 第二個註釋


'''多行註釋
第一種
多行註釋'''


"""多行註釋
第二種
多行註釋"""
註釋

執行上面代碼,輸出結果爲:

Hello World!
執行結果

多行註釋能夠用多個#號:

#!/usr/bin/python3

# 第一個註釋
# 第二個註釋

print ("Hello, Python!") 
多行註釋

執行上面代碼輸出結果爲:

Hello, Python!
執行結果

行與縮進

Python最具特點的就是使用縮進來表示代碼塊,不須要使用大括號{}。

縮進的空格數是可變的,可是同一個代碼塊的語句必須包含相同的縮進空格數。實例以下:

if True:
    print("True")
else:
    print("False")
示例

如下代碼最後一行語句縮進數的空格數不一致,會致使運行錯誤:

if True:
    print("Answer")
    print("True")
else:
    print("Answer")
  print("False")     # 縮進不一致,會致使運行錯誤!
錯誤示例

以上程序因爲縮進不一致,執行後會出現相似如下錯誤:

File "C:/Users/Administrator/PycharmProjects/Zero/day1/1.py", line 10
    print("False")     # 縮進不一致,會致使運行錯誤!
                                       ^
IndentationError: unindent does not match any outer indentation level
報錯

多行語句

Python 一般是一行寫完一條語句,但若是語句很長,咱們可使用反斜槓 "\" 來實現多行語句,例如:

total = "item_one+"\
        "item_two+"\
        "item_three"
print(total)
多行示例

在[],{},或()中的多行語句,不須要使用反斜槓 」\「 ,例如:

total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
多行示例

數據類型

Python中數有四種類型:整數、長整數、浮點數和複數

  • 整數,如1
  • 長整數,是比較大的整數
  • 浮點數,如1.2三、3E-2
  • 複數,如 1+2j、1.1+2.2j

字符串

  • Python中單引號和雙引號使用徹底相同
  • 使用三個引號('''或""")能夠指定一個多行字符串
  • 轉義符 "\"
  • 天然字符串,經過在字符串前加 r 或 R 。如 r"this is a line with \n" 則 \n 會顯示,並非換行
  • Python容許處理Unicode字符串,加前綴 u 或 U,如 u"this is an unicode string" 。
  • 字符串是不可變的
  • 按字面意義級聯字符串,如 "this" "is" "string"會被自動轉換位 this is string 。
word = "字符串"
sentence = "這是一個句子"
paragraph = """這是一個段落
能夠有多行組成"""
示例

空行

函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一個空行分隔,以突出函數入口的開始。

空行與代碼縮進不一樣,空行並非Python語法的一部分。書寫時不插入空行,Python解釋器運行也不會出錯。可是空行的做用在於分隔兩段不一樣功能或含義的代碼,便於往後代碼的維護或重構。

注意:空行也是程序代碼的一部分。

等待用戶輸入

執行下面的程序在按回車鍵後就會等待用戶輸入:

#!/usr/bin/env python
#-*-coding:utf-8 -*-
# Author:Zero
input("\n\n按下 enter 鍵後退出。")
示例

以上代碼中, "\n\n"在輸出前會輸出兩個新的空行,一旦用戶按下 enter 鍵時,程序退出。

同行顯示多條語句

Python能夠在同一行中使用多條語句,語句之間使用分號 ";"分割,如下是一個簡單的實例:

#!/usr/bin/env python
#-*-coding:utf-8 -*-
# Author:Zero
import sys; x = "Zero"; sys.stdout.write(x + "\n")

#多個模塊(庫)可使用逗號 「,」 分割

#!/usr/bin/env python
#-*-coding:utf-8 -*-
# Author:Zero
import sys; x = "Zero"; sys.stdout.write(x + "\n")

import sys,os,getpass
示例

上面代碼輸出結果爲:Zero

多個語句構成代碼組

縮進相同的一組語句構成一個代碼塊,咱們稱之爲代碼組。

像 if、while、def 和 class 這樣的複合語句,首行關鍵字開始,以冒號 「:」 結束,該行以後的一行或多行代碼構成代碼組。

咱們將首行及後面的代碼組稱爲一個子句(clause)。實例以下:

if expression :
    suite
elif expression :
    suite
else:
    suite

# 這裏的express 是表達式,suite是繼續!即if後面接的是表達式,suite是if表達式成立後的各類輸出或執行程序
示例

Print 輸出

print 默認輸出是換行的,若是要實現不換行須要在變量末尾加上 end="" :

#!/usr/bin/env python
#-*-coding:utf-8 -*-
# Author:Zero

x = "a"
y = "b"
# 換行輸出
print(x)
print(y)

print("---------------")
# 不換行輸出
print(x,end="")
print(y,end="")
print("-----------------")
示例

以上示例執行輸出結果爲:

C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe C:/Users/Administrator/PycharmProjects/Zero/day1/1.py
a
b
---------------
ab-----------------

Process finished with exit code 0
執行結果

import 與 from...import

在 Python 用 import 或者 from...import 來導入相應的模塊(庫)。

將整個模塊(somemodule)導入,格式爲: import somemodule 例--> import datetime (導入整個datetime包)

從某個模塊中導入某個函數,格式爲: from somemodule import somefunction 例--> from datetime import datetime(導入datetime包裏的datetime類)

將摸個模塊中的所有函數導入,格式爲:from somemodule import *   例--> from datetime import *(導入datetime包裏的全部類)

實例:

import sys
print("----------Python import mode-----------")
print("命令行參數爲:")
for i in sys.argv:
    print(i)
    print("\n python 路徑爲",sys.path)
導入sys模塊
from sys import argv,path  # 導入特定的成員

print("---------python import mode-------------")
print("path:",path) # 由於已經導入path成員,因此此處引用時不須要加sys.path
導入sys模塊的argv,path成員

命令行參數

不少程序能夠指向如下操做來查看一些基本信息,Python可使用-h參數查看各參數幫助信息:

C:\Users\Administrator>python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-b     : issue warnings about str(bytes_instance), str(bytearray_instance)
         and comparing bytes/bytearray with str. (-bb: issue errors)
-B     : don't write .pyc files on import; also PYTHONDONTWRITEBYTECODE=x
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser; also PYTHONDEBUG=x
-E     : ignore PYTHON* environment variables (such as PYTHONPATH)
-h     : print this help message and exit (also --help)
-i     : inspect interactively after running script; forces a prompt even
         if stdin does not appear to be a terminal; also PYTHONINSPECT=x
-I     : isolate Python from the user's environment (implies -E and -s)
-m mod : run library module as a script (terminates option list)
-O     : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x
-OO    : remove doc-strings in addition to the -O optimizations
-q     : don't print version and copyright messages on interactive startup
-s     : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S     : don't imply 'import site' on initialization
示例

一些註釋的意思

#!/usr/bin/python3 

第一行註釋標的是指向Python的路徑,告訴操做系統執行這個程序的時候,調用/usr/bin 下的Python解釋器。

此外還有如下形式(推薦寫法):

#!/usr/bin/env python3

這種用法如今 env (環境變量)設置裏查找 Python 的安裝路徑,再調用對應路徑下的解釋器程序完成操做

'''......''' 或 """......."""" 三引號之間書寫較長的註釋,還能夠用於在函數的首部對函數進行一個說明:

def example(anything):
    '''形參爲任意類型的對象,
       這個示例函數會將其原樣返回。
    '''
    return anything

help() 函數

調用Python的help()函數能夠打印輸出一個函數的文檔字符串:

# 以下實例,查看 max 內置函數的參數列表和規範的文檔
>>> help(max)
……顯示幫助信息……

按下:q 兩個按鍵即退出說明文檔

若是僅僅想獲得文檔字符串:

>>> print(max.__doc__)    # 注意,doc的先後分別是兩個下劃線
max(iterable, *[, default=obj, key=func]) -> value
max(arg1, arg2, *args, *[, key=func]) -> value

With a single iterable argument, return its biggest item. The
default keyword-only argument specifies an object to return if
the provided iterable is empty.
With two or more arguments, return the largest argument.
相關文章
相關標籤/搜索