2019-07-22 python 3基礎語法(編碼慰安、標識符腋寨、python保留字、注釋化焕、行與縮進萄窜、多行語句、數(shù)字(Number)類型锣杂、字符串(String)脂倦、空行、等待用戶輸入元莫、同一行顯示多條語...

本文章是對python 3 的基礎語法的概述赖阻,后期會詳細講解。

本文章的主要內容如下:

16個內容

編碼踱蠢、標識符火欧、python保留字、注釋茎截、行與縮進苇侵、多行語句、數(shù)字(Number)類型企锌、字符串(String)榆浓、空行、等待用戶輸入撕攒、同一行顯示多條語句陡鹃、多個語句構成代碼組烘浦、import 與 from...import、命令行參數(shù)萍鲸、#!/usr/bin/python3的介紹

1.編碼

這是python 2和python 3的區(qū)別之一闷叉。
默認情況下,Python 3 源碼文件以?UTF-8?編碼脊阴,所有字符串都是 unicode 字符串握侧。?

# -*-coding:utf-8-*-

當然你也可以為源碼文件指定不同的編碼:

# -*- coding: cp-1252 -*-

上述定義允許在源文件中使用 Windows-1252 字符集中的字符編碼,對應適合語言為保加利亞語嘿期、白羅斯語品擎、馬其頓語、俄語备徐、塞爾維亞語孽查。

2.標識符

用于各種命名規(guī)則,比如變量名坦喘,函數(shù)名盲再,類名等

(1) 第一個字符必須是字母表中字母或下劃線?_?。

(2) 標識符的其他的部分由字母瓣铣、數(shù)字和下劃線組成答朋。

(3)標識符對大小寫敏感。例如DOG和dog是兩個變量棠笑。

在 Python 3 中梦碗,非 ASCII 標識符也是允許的了。

3.python保留字

這是33個保留字蓖救。

保留字即關鍵字洪规,我們不能把它們用作任何標識符名稱

Python 的標準庫提供了一個 keyword 模塊循捺,可以輸出當前版本的所有關鍵字:

>>> 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']

4.注釋

? (1) Python中單行注釋以?#?開頭:

實例(Python 3.0+)

#!/usr/bin/python3

# 第一個注釋

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

執(zhí)行以上代碼斩例,輸出結果為:

Hello, Python!

? (2)多行注釋可以用多個?#?號,還有?'''?和?" " ":

實例(Python 3.0+)

#第一種方式注釋

#!/usr/bin/python3

# 第一個注釋

# 第二個注釋

#第二種方式注釋

'''

第三注釋

第四注釋

'''

#第三種注釋

" " "

第五注釋

第六注釋

" " "

print ("Hello, Python!")

執(zhí)行以上代碼从橘,輸出結果為:

Hello, Python!

5.行與縮進(indent)

python最具特色的就是使用縮進來表示代碼塊念赶,不需要使用大括號?{}?。

縮進的空格數(shù)是可變的恰力,但是同一個代碼塊的語句必須包含相同的縮進空格數(shù)叉谜。如果縮進不一致 ,執(zhí)行程序會報錯:IndentationError踩萎。

實例如下:

實例(Python 3.0+)

if True:

? ? print ("True")

else:

? ? print ("False")

以下代碼最后一行語句縮進數(shù)的空格數(shù)不一致停局,會導致運行錯誤:

if True:? ??

? ? print ("Answer")? ?

? ? print ("True")

else:? ??

? ?print ("Answer")??

print ("False")? ? # 縮進不一致,會導致運行錯誤

以上程序由于縮進不一致,執(zhí)行后會出現(xiàn)類似以下錯誤:

File "test.py", line 6? ?

?print ("False")? ? # 縮進不一致董栽,會導致運行錯誤? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ^

IndentationError: unindent does not match any outer indentation level

6.多行語句

Python 通常是一行寫完一條語句履怯,但如果語句很長,我們可以使用反斜杠(\)來實現(xiàn)多行語句裆泳,例如:

total = item_one + \

? ? ? ? item_two + \

? ? ? ? item_three

在 [], {}, 或 () 中的多行語句,不需要使用反斜杠(\)柠硕,例如:

total = ['item_one', 'item_two', 'item_three',? ? ? ? 'item_four', 'item_five']

7.數(shù)字(Number)類型

python中數(shù)字有四種類型:整數(shù)工禾、布爾型、浮點數(shù)和復數(shù)蝗柔。

int?(整數(shù)), 如 1, 只有一種整數(shù)類型 int闻葵,表示為長整型,沒有 python2 中的 Long癣丧。

bool?(布爾), 如 True槽畔。

float?(浮點數(shù)), 如 1.23、3E-2

complex?(復數(shù)), 如 1 + 2j胁编、 1.1 + 2.2j

8.字符串(String)

(1)python中單引號和雙引號使用完全相同厢钧。

(2)使用三引號(' ' '或" " ")可以指定一個多行字符串。

(3)轉義符 '\'

(4)反斜杠可以用來轉義嬉橙,使用r可以讓反斜杠不發(fā)生轉義早直。。 如 r"this is a line with \n" 市框,則\n會顯示霞扬,并不是換行。

按字面意義級聯(lián)字符串枫振,如"this " "is " "string"會被自動轉換為this is string喻圃。

(5)字符串可以用 + 運算符連接在一起,用 * 運算符重復粪滤。

(6)Python 中的字符串有兩種索引方式斧拍,

? ? ? ? ? ?(1)從左往右以 0 開始,

? ? ? ? ? (2)從右往左以 -1 開始杖小。

(7)Python中的字符串不能改變饮焦。

(8)Python 沒有單獨的字符類型,一個字符就是長度為 1 的字符串窍侧。

(9)字符串的截取的語法格式如下:變量[頭下標:尾下標:步長]? 結果就是把輸出除掉步長之間的字符

word = '字符串'

sentence = "這是一個句子县踢。"

paragraph = """這是一個段落,

可以由多行組成"""

實例(Python 3.0+)

#!/usr/bin/python3

?str='Runoob'

print(str)? ? ? ? ? ? ? ? # 輸出字符串

print(str[0:-1])? ? ? ? ? # 輸出第一個到倒數(shù)第二個的所有字符

print(str[0])? ? ? ? ? ? ? # 輸出字符串第一個字符

print(str[2:5])? ? ? ? ? ? # 輸出從第三個開始到第五個的字符 從下標為2的字符到n-1的? ?字符

print(str[2:])? ? ? ? ? ? # 輸出從第三個開始的后的所有字符

print(str * 2)? ? ? ? ? ? # 輸出字符串兩次

print(str + '你好')? ? ? ? # 連接字符串?

print('------------------------------')?

print('hello\nrunoob')? ? ? # 使用反斜杠(\)+n轉義特殊字符

print(r'hello\nrunoob')? ? # 在字符串前面添加一個 r伟件,表示原始字符串硼啤,不會發(fā)生轉義

這里的 r 指 raw,即 raw string斧账。

輸出結果為:

Runoob

Runoo

R

noo

noobRunoobRunoobRunoob你好------------------------------hello

runoob

hello\nrunoob

9.空行

函數(shù)之間或類的方法之間用空行分隔谴返,表示一段新的代碼的開始煞肾。類和函數(shù)入口之間也用一行空行分隔,以突出函數(shù)入口的開始嗓袱。

空行與代碼縮進不同籍救,空行并不是Python語法的一部分。書寫時不插入空行渠抹,Python解釋器運行也不會出錯蝙昙。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護或重構梧却。

記灼娴摺:空行也是程序代碼的一部分。

10.等待用戶輸入(input)

執(zhí)行下面的程序在按回車鍵后就會等待用戶輸入:

實例(Python 3.0+)

#!/usr/bin/python3?

input("\n\n按下 enter 鍵后退出放航。")

以上代碼中 烈拒,"\n\n"在結果輸出前會輸出兩個新的空行。一旦用戶按下 enter 鍵時广鳍,程序將退出荆几。

11.同一行顯示多條語句

Python可以在同一行中使用多條語句,語句之間使用分號(;)分割赊时,以下是一個簡單的實例:

實例(Python 3.0+)

#!/usr/bin/python3?

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

使用腳本執(zhí)行以上代碼伴郁,輸出結果為:

runoob

使用交互式命令行執(zhí)行,輸出結果為:

>>> import sys; x = 'runoob'; sys.stdout.write(x + '\n')

runoob

7

此處的 7 表示字符數(shù)蛋叼。


12.多個語句構成代碼組

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

像if狈涮、while狐胎、def和class這樣的復合語句,首行以關鍵字開始歌馍,以冒號( : )結束握巢,該行之后的一行或多行代碼構成代碼組。

我們將首行及后面的代碼組稱為一個子句(clause)松却。

如下實例:

if expression :

? suite

elif expression :

? suite?

else :

? suite

13.Print 輸出

print 默認輸出是換行的暴浦,如果要實現(xiàn)不換行需要在變量末尾加上?end=" "

實例(Python 3.0+)

#!/usr/bin/python3?

x="a"y="b"

# 換行輸出

print( x )

print( y )?

print('---------')

# 不換行輸出

print( x, end=" " )

print( y, end=" " )

print()

以上實例執(zhí)行結果為:

a

b

---------

a b

14.import 與 from...import

在 python 用?import?或者?from...import?來導入相應的模塊(各種庫)。

將整個模塊(somemodule)導入晓锻,格式為:?import somemodule

從某個模塊中導入某個函數(shù),格式為:?from somemodule import somefunction

從某個模塊中導入多個函數(shù)(多個函數(shù)之間用逗號隔開),格式為:?from somemodule import firstfunc, secondfunc, thirdfunc

將某個模塊中的全部函數(shù)導入歌焦,格式為:?from somemodule import *

導入 sys 模塊

import sysprint('================Python import mode==========================');

print ('命令行參數(shù)為:')

for i in sys.argv:

? ?print (i)

? print ('\n python 路徑為',sys.path)

導入 sys 模塊的 argv,path 成員

from sys import argv,path? #? 導入特定的成員?

print('================python from import===================================')

print('path:',path) # 因為已經(jīng)導入path成員,所以此處引用時不需要加sys.path砚哆、

拓展:

關于 import 的小結独撇,以 time 模塊為例:

1、將整個模塊導入,例如:import time纷铣,在引用時格式為:time.sleep(1)卵史。

2、將整個模塊中全部函數(shù)導入搜立,例如:from time import *以躯,在引用時格式為:sleep(1)。

3啄踊、將模塊中特定函數(shù)導入忧设,例如:from time import sleep,在引用時格式為:sleep(1)社痛。

4、將模塊換個別名命雀,例如:import time as abc蒜哀,在引用時格式為:abc.sleep(1)。

15.命令行參數(shù)

很多程序可以執(zhí)行一些操作來查看一些基本信息吏砂,Python可以使用-h參數(shù)查看各參數(shù)幫助信息:

$ python -h

usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...

Options and arguments (and corresponding environment variables):

-c cmd : program passed in as string (terminates option list)

-d? ? : debug output from parser (also PYTHONDEBUG=x)

-E? ? : ignore environment variables (such as PYTHONPATH)

-h? ? : print this help message and exit

[ etc. ]

我們在使用腳本形式執(zhí)行 Python 時撵儿,可以接收命令行輸入的參數(shù),具體使用可以參照?Python 3 命令行參數(shù)狐血。

16.#!/usr/bin/python3介紹

這一行可以不用寫淀歇,只是為了說明下而已。

#!/usr/bin/python3

第一行注釋標的是指向 python 的路徑匈织,告訴操作系統(tǒng)執(zhí)行這個腳本的時候浪默,

調用 /usr/bin 下的 python 解釋器。

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

#!/usr/bin/env python3

這種用法先在 env(環(huán)境變量)設置里查找 python 的安裝路徑缀匕,再調用對應路徑下的解釋器程序完成操作纳决。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市乡小,隨后出現(xiàn)的幾起案子阔加,更是在濱河造成了極大的恐慌,老刑警劉巖满钟,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胜榔,死亡現(xiàn)場離奇詭異,居然都是意外死亡湃番,警方通過查閱死者的電腦和手機夭织,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吠撮,“玉大人摔癣,你說我怎么就攤上這事。” “怎么了择浊?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵戴卜,是天一觀的道長。 經(jīng)常有香客問我琢岩,道長投剥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任担孔,我火速辦了婚禮江锨,結果婚禮上,老公的妹妹穿的比我還像新娘糕篇。我一直安慰自己啄育,他們只是感情好,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布拌消。 她就那樣靜靜地躺著挑豌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪墩崩。 梳的紋絲不亂的頭發(fā)上氓英,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音鹦筹,去河邊找鬼铝阐。 笑死,一個胖子當著我的面吹牛铐拐,可吹牛的內容都是我干的徘键。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼遍蟋,長吁一口氣:“原來是場噩夢啊……” “哼啊鸭!你這毒婦竟也來了?” 一聲冷哼從身側響起匿值,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤赠制,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后挟憔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钟些,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年绊谭,在試婚紗的時候發(fā)現(xiàn)自己被綠了政恍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡达传,死狀恐怖篙耗,靈堂內的尸體忽然破棺而出迫筑,到底是詐尸還是另有隱情,我是刑警寧澤宗弯,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布脯燃,位于F島的核電站,受9級特大地震影響蒙保,放射性物質發(fā)生泄漏辕棚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一邓厕、第九天 我趴在偏房一處隱蔽的房頂上張望逝嚎。 院中可真熱鬧,春花似錦详恼、人聲如沸补君。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挽铁。三九已至,卻和暖如春硅堆,著一層夾襖步出監(jiān)牢的瞬間屿储,已是汗流浹背贿讹。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工渐逃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人民褂。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓茄菊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赊堪。 傳聞我的和親對象是個殘疾皇子面殖,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內容