Python基础--Python3基础语法
Python3 基礎(chǔ)語法
編碼
默認(rèn)情況下,Python3源碼文件以UTF-8編碼,所有字符串都是Unicode字符串。當(dāng)然也可以為源碼文件指定不同的編碼,例如:
#?-*-?coding:?cp-1252?-*-標(biāo)識符
1.第一個字符必須是字母表中字母或下劃線;
2.標(biāo)識符的其他的部分有字母、數(shù)字和下劃線組成;
3.標(biāo)識符對大小寫敏感。
注:在Python3中,非ASCII標(biāo)識符也是允許的。
Python保留字
保留字即關(guān)鍵字,我們不能把它們用作任何標(biāo)識符名稱。Python的標(biāo)準(zhǔn)庫提供了一個keyword模塊,可以輸出當(dāng)前版本的所有關(guān)鍵字:
>>>?import?keyword >>>?keyword.kwlist ['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/python3 #第一個注釋 print?("Hello,Python!")?#第二個注釋執(zhí)行以上代碼,輸出結(jié)果為:
Hello,Python!多行注釋可以用多個#號:
#!/usr/bin/python3 #第一個注釋 #第二個注釋 print?("Hello,Python!")執(zhí)行以上代碼,輸出結(jié)果為:
Hello,Python!行與縮進(jìn)
Python最具特色的就是使用縮進(jìn)來表示代碼塊,不需要使用大括號{}。
做進(jìn)的空格數(shù)是可變的,但是同一個代碼塊的語句必須包含相同的縮進(jìn)空格數(shù)。
例如:
if?True:print("True") else:print("False")以下代碼最后一行語句縮進(jìn)數(shù)的空格數(shù)不一致,會導(dǎo)致運(yùn)行錯誤:
if?True:print("Answer")print("True") else:print("Answer")print("False")????#縮進(jìn)不一致,會導(dǎo)致運(yùn)行錯誤以上程序由于縮進(jìn)不一致,執(zhí)行后會出現(xiàn)類似以下錯誤:
??File?"C:/Users/wuli/PycharmProjects/test.py",?line?10print("False")????#縮進(jìn)不一致,會導(dǎo)致運(yùn)行錯誤^ IndentationError:?unindent?does?not?match?any?outer?indentation?level多行語句
Python通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠(\)來實(shí)現(xiàn)多行語句,例如:
total?=?'item_one?+?\item_two?+?\item_three'在[],{},或()中的多行語句,不需要使用反斜杠(\),例如:
total?=?['item_one','item_two','item_three','item_four','item_five']數(shù)據(jù)類型
Python中數(shù)有四種類型:整數(shù)、長整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)。
1.整數(shù),例如1
2.長整數(shù),比較大的整數(shù)
3.浮點(diǎn)數(shù),例如1.23、3E-2
4.復(fù)數(shù),例如1+2j、1.1+2.2j?
字符串
1.Python中單引號和雙引號使用完全相同;
2.使用三引號('''或""")可以指定一個多行字符串;
3.轉(zhuǎn)義符'\'
4.自然字符串,通過在字符串前加r或R。例如:r"this is a line with \n"則\n會顯示,并不是換行;
5.python允許處理Unicode字符串,加前綴u或U,例如:u"this is an unicode string"
6.字符串是不可變的。
7.按字面 意義級聯(lián)字符串,例如:"this" "is" "string"會被自動轉(zhuǎn)換為this is string
word = '字符串'
sentence = "這是一個句子"
paragraph = """這是一個段落,
可以有多行組成"""
空行
函數(shù)之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數(shù)入口之間也用一行空行分隔,以突出函數(shù)入口的開始。
空行與代碼縮進(jìn)不同,空行并不是Python語法的一部分。書寫時不插入空行,Python解釋器運(yùn)行也不會出錯。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼維護(hù)或重構(gòu)。
謹(jǐn)記:空行也是程序代碼的一部分。
等待用戶輸入
執(zhí)行下面的程序在按回車鍵后就會等待用戶輸入:
#!/usr/bin/python3 input("\n\n按下enter鍵后退出。")以上代碼中,"\n\n"在結(jié)果輸出前會輸出兩個新的空行。一旦用戶按下鍵時,程序?qū)⑼顺觥?/p>
同一行顯示多條語句
Python可以在同一行中使用多條語句,語句之間使用分號(;)分割,事例如下:
#!/usr/bin/python3 import?sys;?x?=?'python';sys.stdout.write(x?+?'\n')執(zhí)行以上代碼,結(jié)果輸出為:
python多個語句構(gòu)成代碼組
縮進(jìn)相同的一組語句構(gòu)成一個代碼塊,我們稱之代碼組。
像if、while、def和class這樣的復(fù)合語句,首行以關(guān)鍵字開始,以冒號(:)結(jié)束,該行之后的一行或多行代碼構(gòu)成代碼組。
我們將首行及后面的代碼組稱為一個子句(clause)。
例如:
if?expression:suite elif?expression:suite else:suiteprint輸出
print默認(rèn)輸出是換行的,如果要實(shí)現(xiàn)不換行需要在變量末尾加上end="":
x?=?'a' y?=?'b' #換行輸出 print(x) print(y) print('------') #不換行輸出 print(x,end="?") print(y,end="?") print()以上執(zhí)行結(jié)果為:
a b ------ a?bimport與from...import
在Python用import或者form...import來導(dǎo)入相應(yīng)的模塊。
將整個模塊(somemodule)導(dǎo)入,格式為:import somemodule
從某個模塊中導(dǎo)入某個函數(shù),格式為:from somemodule import somefunction
從某個模塊中導(dǎo)入多個函數(shù),格式為:from somemodule import firstfunc,secondfunc,thirdfunc
將某個模塊中的全部函數(shù)導(dǎo)入,格式為:from somemodule import *
導(dǎo)入sys模塊
import?sys print('================Python?import?mode=========================='); print?('命令行參數(shù)為:') for?i?in?sys.argv:print?(i) print?('\n?python?路徑為',sys.path)輸出為:
================Python?import?mode========================== 命令行參數(shù)為: C:/Users/wuli/PycharmProjects/Project20170523-python3/Day1/test1.pypython?路徑為?['C:\\Users\\wuli\\PycharmProjects\\Project20170523-python3\\Day1',?'C:\\Users\\wuli\\PycharmProjects\\Project20170523-python3',?'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip',?'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36\\DLLs',?'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36\\lib',?'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36',?'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']?
導(dǎo)入sys模塊的argv,path成員
from?sys?import?argv,path??#??導(dǎo)入特定的成員print('================python?from?import===================================') print('path:',path)?#?因?yàn)橐呀?jīng)導(dǎo)入path成員,所以此處引用時不需要加sys.path輸出為:
================python?from?import=================================== path:?['C:\\Users\\wuli\\PycharmProjects\\Project20170523-python3\\Day1',? 'C:\\Users\\wuli\\PycharmProjects\\Project20170523-python3',? 'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip',? 'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36\\DLLs',? 'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36\\lib',? 'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36',? 'C:\\Users\\wuli\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']命令行參數(shù)
很多程序可以執(zhí)行一些操作來查看一些基本信息,Python可以使用-h參數(shù)查看各參數(shù)幫助信息:
C:\Users\wuli>python3?-h usage:?python3?[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?.py[co]?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) [etc.]注意事項(xiàng):
1. 在Windows下可以不寫第一行注釋:
#!/usr/bin/python3第一行注釋標(biāo)的是指向 python 的路徑,告訴操作系統(tǒng)執(zhí)行這個腳本的時候,調(diào)用 /usr/bin 下的 python 解釋器。
此外還有以下形式(推薦寫法):
#!/usr/bin/env?python3這種用法先在 env(環(huán)境變量)設(shè)置里查找 python 的安裝路徑,再調(diào)用對應(yīng)路徑下的解釋器程序完成操作。
2. 關(guān)于注釋,也可以使用''' '''的格式在三引號之間書寫較長的注釋;
''' '''還可以用于在函數(shù)的首部對函數(shù)進(jìn)行一個說明:
def?example(anything):'''形參為任意類型的對象,這個示例函數(shù)會將其原樣返回。'''return?anything3. help()函數(shù)
調(diào)用python的help()函數(shù)可以打印輸出一個函數(shù)的文檔字符串:
# 如下實(shí)例,查看 max 內(nèi)置函數(shù)的參數(shù)列表和規(guī)范的文檔
>>>?help(max) Help?on?built-in?function?max?in?module?builtins: max(...)max(iterable,?*[,?default=obj,?key=func])?->?valuemax(arg1,?arg2,?*args,?*[,?key=func])?->?valueWith?a?single?iterable?argument,?return?its?biggest?item.?Thedefault?keyword-only?argument?specifies?an?object?to?return?ifthe?provided?iterable?is?empty.With?two?or?more?arguments,?return?the?largest?argument.按下:q兩個按鍵即退出說明文檔(linux當(dāng)中退出方式)
如果僅僅想得到文檔字符串:
>>>?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.轉(zhuǎn)載于:https://blog.51cto.com/wuli03960405/1930651
總結(jié)
以上是生活随笔為你收集整理的Python基础--Python3基础语法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [python]如何清屏?也就是实现cl
- 下一篇: Qt Creator 使用技巧