編碼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中數有四種類型:整數、長整數、浮點數和複數
字符串
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)
from sys import argv,path # 導入特定的成員 print("---------python import mode-------------") print("path:",path) # 由於已經導入path成員,因此此處引用時不須要加sys.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.