py基本語法

Python基礎(chǔ)語法總結(jié):

1.Python標(biāo)識符

在 Python 里宪拥,標(biāo)識符有字母茉贡、數(shù)字扁位、下劃線組成准潭。

在 Python 中,所有標(biāo)識符可以包括英文域仇、數(shù)字以及下劃線(_)刑然,但不能以數(shù)字開頭。

Python 中的標(biāo)識符是區(qū)分大小寫的暇务。

以下劃線開頭的標(biāo)識符是有特殊意義的泼掠。以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的接口進(jìn)行訪問垦细,不能用 from xxx import * 而導(dǎo)入择镇;

以雙下劃線開頭的 foo 代表類的私有成員;以雙下劃線開頭和結(jié)尾的 foo 代表 Python 里特殊方法專用的標(biāo)識括改,如 init__() 代表類的構(gòu)造函數(shù)腻豌。

2.Python有五個標(biāo)準(zhǔn)的數(shù)據(jù)類型

Numbers(數(shù)字)

String(字符串)

List(列表)

Tuple(元組)

Dictionary(字典)

Python支持四種不同的數(shù)字類型:

int(有符號整型)

long(長整型[也可以代表八進(jìn)制和十六進(jìn)制])

float(浮點型)

complex(復(fù)數(shù))

python的字串列表有2種取值順序:

從左到右索引默認(rèn)0開始的,最大范圍是字符串長度少1

從右到左索引默認(rèn)-1開始的嘱能,最大范圍是字符串開頭

List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型吝梅。

列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)。它支持字符焰檩,數(shù)字憔涉,字符串甚至可以包含列表(即嵌套)。

列表用 [ ] 標(biāo)識析苫,是 python 最通用的復(fù)合數(shù)據(jù)類型兜叨。

列表中值的切割也可以用到變量 [頭下標(biāo):尾下標(biāo)] 穿扳,就可以截取相應(yīng)的列表,從左到右索引默認(rèn) 0 開始国旷,從右到左索引默認(rèn) -1 開始矛物,下標(biāo)可以為空表示取到頭或尾。

加號 + 是列表連接運(yùn)算符跪但,星號 * 是重復(fù)操作履羞。

元組是另一個數(shù)據(jù)類型,類似于List(列表)屡久。

元組用”()”標(biāo)識忆首。內(nèi)部元素用逗號隔開。但是元組不能二次賦值被环,相當(dāng)于只讀列表糙及。

字典(dictionary)是除列表以外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。

列表是有序的對象結(jié)合筛欢,字典是無序的對象集合浸锨。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的,而不是通過偏移存取版姑。

字典用”{ }”標(biāo)識柱搜。字典由索引(key)和它對應(yīng)的值value組成。

3.Python數(shù)據(jù)類型轉(zhuǎn)換

有時候剥险,我們需要對數(shù)據(jù)內(nèi)置的類型進(jìn)行轉(zhuǎn)換聪蘸,數(shù)據(jù)類型的轉(zhuǎn)換,你只需要將數(shù)據(jù)類型作為函數(shù)名即可表制。

以下幾個內(nèi)置的函數(shù)可以執(zhí)行數(shù)據(jù)類型之間的轉(zhuǎn)換宇姚。這些函數(shù)返回一個新的對象,表示轉(zhuǎn)換的值夫凸。

函數(shù) 描述

int(x [,base])

將x轉(zhuǎn)換為一個整數(shù)

long(x [,base] )

將x轉(zhuǎn)換為一個長整數(shù)

float(x)

將x轉(zhuǎn)換到一個浮點數(shù)

complex(real [,imag])

創(chuàng)建一個復(fù)數(shù)

str(x)

將對象 x 轉(zhuǎn)換為字符串

repr(x)

將對象 x 轉(zhuǎn)換為表達(dá)式字符串

eval(str)

用來計算在字符串中的有效Python表達(dá)式,并返回一個對象

tuple(s)

將序列 s 轉(zhuǎn)換為一個元組

list(s)

將序列 s 轉(zhuǎn)換為一個列表

set(s)

轉(zhuǎn)換為可變集合

dict(d)

創(chuàng)建一個字典浑劳。d 必須是一個序列 (key,value)元組。

frozenset(s)

轉(zhuǎn)換為不可變集合

chr(x)

將一個整數(shù)轉(zhuǎn)換為一個字符

unichr(x)

將一個整數(shù)轉(zhuǎn)換為Unicode字符

ord(x)

將一個字符轉(zhuǎn)換為它的整數(shù)值

hex(x)

將一個整數(shù)轉(zhuǎn)換為一個十六進(jìn)制字符串

oct(x)

將一個整數(shù)轉(zhuǎn)換為一個八進(jìn)制字符串

4.Python 運(yùn)算符

算術(shù)運(yùn)算符

比較(關(guān)系)運(yùn)算符

賦值運(yùn)算符

邏輯運(yùn)算符

位運(yùn)算符

成員運(yùn)算符

身份運(yùn)算符

運(yùn)算符優(yōu)先級

python算術(shù)運(yùn)算符

運(yùn)算符 描述 實例

加 - 兩個對象相加 a + b 輸出結(jié)果 30

減 - 得到負(fù)數(shù)或是一個數(shù)減去另一個數(shù) a - b 輸出結(jié)果 -10

乘 - 兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串 a * b 輸出結(jié)果 200

/ 除 - x除以y b / a 輸出結(jié)果 2

% 取模 - 返回除法的余數(shù) b % a 輸出結(jié)果 0

冪 - 返回x的y次冪 ab 為10的20次方夭拌, 輸出結(jié)果 100000000000000000000

// 取整除 - 返回商的整數(shù)部分 9//2 輸出結(jié)果 4 , 9.0//2.0 輸出結(jié)果 4.0

①:python比較運(yùn)算符

以下假設(shè)變量a為10魔熏,變量b為20:

運(yùn)算符 描述 實例

== 等于 - 比較對象是否相等 (a == b) 返回 False。

!= 不等于 - 比較兩個對象是否不相等 (a != b) 返回 true.

<> 不等于 - 比較兩個對象是否不相等 (a <> b) 返回 true鸽扁。這個運(yùn)算符類似 != 蒜绽。

大于 - 返回x是否大于y (a > b) 返回 False。

< 小于 - 返回x是否小于y桶现。所有比較運(yùn)算符返回1表示真躲雅,返回0表示假。這分別與特殊的變量True和False等價骡和。注意相赁,這些變量名的大寫相寇。 (a < b) 返回 true。

= 大于等于 - 返回x是否大于等于y钮科。 (a >= b) 返回 False唤衫。

<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true绵脯。

②:Python賦值運(yùn)算符

以下假設(shè)變量a為10佳励,變量b為20:

運(yùn)算符 描述 實例

= 簡單的賦值運(yùn)算符 c = a + b 將 a + b 的運(yùn)算結(jié)果賦值為 c

+= 加法賦值運(yùn)算符 c += a 等效于 c = c + a

-= 減法賦值運(yùn)算符 c -= a 等效于 c = c - a

= 乘法賦值運(yùn)算符 c = a 等效于 c = c * a

/= 除法賦值運(yùn)算符 c /= a 等效于 c = c / a

%= 取模賦值運(yùn)算符 c %= a 等效于 c = c % a

= 冪賦值運(yùn)算符 c = a 等效于 c = c ** a

//= 取整除賦值運(yùn)算符 c //= a 等效于 c = c // a

③:Python位運(yùn)算符

下表中變量 a 為 60,b 為 13蛆挫,二進(jìn)制格式如下:

a = 0011 1100

b = 0000 1101

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

運(yùn)算符 描述 實例

& 按位與運(yùn)算符:參與運(yùn)算的兩個值,如果兩個相應(yīng)位都為1,則該位的結(jié)果為1,否則為0 (a & b) 輸出結(jié)果 12 赃承,二進(jìn)制解釋: 0000 1100

| 按位或運(yùn)算符:只要對應(yīng)的二個二進(jìn)位有一個為1時,結(jié)果位就為1悴侵。 (a | b) 輸出結(jié)果 61 楣导,二進(jìn)制解釋: 0011 1101

^ 按位異或運(yùn)算符:當(dāng)兩對應(yīng)的二進(jìn)位相異時,結(jié)果為1 (a ^ b) 輸出結(jié)果 49 畜挨,二進(jìn)制解釋: 0011 0001

~ 按位取反運(yùn)算符:對數(shù)據(jù)的每個二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)? (~a ) 輸出結(jié)果 -61 ,二進(jìn)制解釋: 1100 0011噩凹, 在一個有符號二進(jìn)制數(shù)的補(bǔ)碼形式巴元。

<< 左移動運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由”<<”右邊的數(shù)指定移動的位數(shù)驮宴,高位丟棄逮刨,低位補(bǔ)0。 a << 2 輸出結(jié)果 240 堵泽,二進(jìn)制解釋: 1111 0000

右移動運(yùn)算符:把”>>”左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位修己,”>>”右邊的數(shù)指定移動的位數(shù) a >> 2 輸出結(jié)果 15 ,二進(jìn)制解釋: 0000 1111

④:Python邏輯運(yùn)算符

Python語言支持邏輯運(yùn)算符迎罗,以下假設(shè)變量 a 為 10, b為 20:

運(yùn)算符 邏輯表達(dá)式 描述 實例

and x and y 布爾”與” - 如果 x 為 False睬愤,x and y 返回 False,否則它返回 y 的計算值纹安。 (a and b) 返回 20尤辱。

or x or y 布爾”或” - 如果 x 是非 0,它返回 x 的值厢岂,否則它返回 y 的計算值光督。 (a or b) 返回 10。

not not x 布爾”非” - 如果 x 為 True塔粒,返回 False 结借。如果 x 為 False,它返回 True卒茬。 not(a and b) 返回 False

⑤:Python成員運(yùn)算符

除了以上的一些運(yùn)算符之外船老,Python還支持成員運(yùn)算符咖熟,測試實例中包含了一系列的成員,包括字符串努隙,列表或元組球恤。

運(yùn)算符 描述 實例

in 如果在指定的序列中找到值返回 True,否則返回 False荸镊。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True咽斧。

not in 如果在指定的序列中沒有找到值返回 True,否則返回 False躬存。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True张惹。

⑥:Python身份運(yùn)算符

身份運(yùn)算符用于比較兩個對象的存儲單元

運(yùn)算符 描述 實例

is is 是判斷兩個標(biāo)識符是不是引用自一個對象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False

is not is not 是判斷兩個標(biāo)識符是不是引用自不同對象 x is not y 岭洲, 類似 id(a) != id(b)宛逗。如果引用的不是同一個對象則返回結(jié)果 True,否則返回 False盾剩。

# 數(shù)據(jù)類型

print(0xff00);? # 十六進(jìn)制用0x前綴和0-9雷激,a-f表示

print(1.23e9);? # 對于很大或很小的浮點數(shù),就必須用科學(xué)計數(shù)法表示告私,把10用e替代屎暇,1.23x10^9就是1.23e9,或者12.3e8驻粟,0.000012可以寫成1.2e-5根悼,等等。

# 在Python中蜀撑,可以直接用True挤巡、False表示布爾值(請注意大小寫)布爾值可以用and、or和not運(yùn)算酷麦。

# 空值是Python里一個特殊的值矿卑,用None表示。None不能理解為0沃饶,因為0是有意義的粪摘,而None是一個特殊的空值。

# ----------------------------------------

# print語句

print('hello, world')

print('The quick brown fox', 'jumps over', 'the lazy dog') # 遇到逗號“,”會輸出一個空格

print('100 + 200 =', 100 + 200)? # 計算100 + 200的結(jié)果

# --------------------------------------------

# 變量

a = 1? # 變量是用一個變量名表示绍坝,變量名必須是大小寫英文徘意、數(shù)字和_的組合,且不能用數(shù)字開頭

# 可以把任意數(shù)據(jù)類型賦值給變量轩褐,同一個變量可以反復(fù)賦值椎咧,而且可以是不同類型的變量,稱為動態(tài)語言

# -------------------------------------------

# 可以使用轉(zhuǎn)義字符 \ 、\n勤讽、\t等等

# -------------------------------------------

# raw字符串與多行字符串

print(r'\(~_~)/ \(~_~)/');? # 我們可以在字符串前面加個前綴 r 蟋座,表示這是一個 raw 字符串,里面的字符就不需要轉(zhuǎn)義了

# 但是r'...'表示法不能表示多行字符串脚牍,也不能表示包含'和 "的字符串

# 如果要表示多行字符串向臀,可以用'''...'''表示

print('''Python is created by "Guido".

It is free and easy to learn.Let's start learn Python in imooc!''');? # 等同于'Line 1\nLine 2\nLine 3'

# ---------------------------------------------------

# Python在后來添加了對Unicode的支持,以Unicode表示的字符串用u'...'表示诸狭,比如:

print(u'中文')

#---------------------------------------------------

#布爾類型

a = True

print( a and 'a=T' or 'a=F',a)

a and 'a=T'

#計算結(jié)果不是布爾類型券膀,而是字符串 'a=T',這是為什么呢驯遇?

#因為Python把0芹彬、空字符串''和None看成 False,其他數(shù)值和非空字符串都看成 True叉庐,所以:

a and 'a=T' #計算結(jié)果是 'a=T'

print( a and 'a=T' or 'a=F') #計算結(jié)果還是 'a=T'

# 創(chuàng)建tuple

# tuple是另一種有序的列表舒帮,中文翻譯為“ 元組 ”。tuple 和 list 非常類似陡叠,但是玩郊,tuple一旦創(chuàng)建完畢,就不能修改了枉阵。

t = ('Adam', 'Lisa', 'Bart')? # 創(chuàng)建tuple和創(chuàng)建list唯一不同之處是用( )替代了[ ]

print(t)

# list是一種有序的集合译红,可以隨時添加和刪除其中的元素

L = ['Adam', 95.5, 'Lisa', 85, 'Bart', 59]

# 按照索引訪問list

# 輸出Bart,下標(biāo)是從0開始

print(L[4])

# 倒序訪問list

# 輸出Bart岭妖,下標(biāo)是從0開始

print(L[-2])

# dict的特點

# dict的第一個特點是查找速度快,無論dict有10個元素還是10萬個元素反璃,查找速度都一樣(而list的查找速度隨著元素增加而逐漸下降昵慌。不過dict的查找速度快不是沒有代價的,dict的缺點是占用內(nèi)存大淮蜈,還會浪費很多內(nèi)容斋攀,list正好相反,占用內(nèi)存小梧田,但是查找速度慢淳蔼。)

# 由于dict是按 key 查找,所以裁眯,在一個dict中鹉梨,key不能重復(fù)。

# dict的第二個特點就是存儲的key-value序?qū)κ菦]有順序的

# dict的第三個特點是作為 key 的元素必須不可變穿稳,Python的基本類型如字符串存皂、整數(shù)、浮點數(shù)都是不可變的,都可以作為 key旦袋。但是list是可變的骤菠,就不能作為 key

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59}

# 更新dict

d['Paul'] = 72? # 如果 key 已經(jīng)存在,則賦值會用新的 value 替換掉原來的 value

# 遍歷dict

for i in d:

? ? print(i,':',d[i])

# ---------------------------------------------------

# set 持有一系列元素疤孕,這一點和 list 很像商乎,但是set的元素沒有重復(fù),而且是無序的祭阀,這點和 dict 的 key很像鹉戚。

# 創(chuàng)建

s = set(['A', 'B', 'C'])

# 遍歷

#更新set

s.add(4) #元素已經(jīng)存在于set中,add()不會報錯柬讨,但是不會加進(jìn)去了

s.remove(4) #元素不存在set中崩瓤,remove()會報錯,所以remove()前需要判斷踩官。

for name in s:

print(name)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末却桶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蔗牡,更是在濱河造成了極大的恐慌颖系,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辩越,死亡現(xiàn)場離奇詭異嘁扼,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)黔攒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門趁啸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人督惰,你說我怎么就攤上這事不傅。” “怎么了赏胚?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵访娶,是天一觀的道長。 經(jīng)常有香客問我觉阅,道長崖疤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任典勇,我火速辦了婚禮劫哼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘割笙。我一直安慰自己沦偎,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著豪嚎,像睡著了一般搔驼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侈询,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天舌涨,我揣著相機(jī)與錄音,去河邊找鬼扔字。 笑死囊嘉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的革为。 我是一名探鬼主播扭粱,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼震檩!你這毒婦竟也來了琢蛤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤抛虏,失蹤者是張志新(化名)和其女友劉穎博其,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迂猴,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡慕淡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了沸毁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峰髓。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖息尺,靈堂內(nèi)的尸體忽然破棺而出携兵,到底是詐尸還是另有隱情,我是刑警寧澤掷倔,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布眉孩,位于F島的核電站个绍,受9級特大地震影響勒葱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巴柿,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一凛虽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧广恢,春花似錦凯旋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钠署。三九已至,卻和暖如春荒椭,著一層夾襖步出監(jiān)牢的瞬間谐鼎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工趣惠, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留狸棍,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓味悄,卻偏偏與公主長得像草戈,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子侍瑟,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 一唐片、PyCharm的基本使用1.1、注釋:為了方便自己或者其他人查看單行注釋:用 # 號單行注釋多行注釋: 用 ...
    IIronMan閱讀 8,843評論 3 18
  • Python基礎(chǔ)語法總結(jié): 1.Python標(biāo)識符 在 Python 里丢习,標(biāo)識符有字母牵触、數(shù)字、下劃線組成咐低。 在 P...
    啊苑啊閱讀 226評論 0 0
  • 一揽思、Python介紹 Python 是一個高層次的結(jié)合了解釋性、編譯性见擦、互動性和面向?qū)ο蟮哪_本語言钉汗。 Python...
    c_dab5閱讀 173評論 0 0
  • 單行注釋前面加#,多行注釋在兩個'''之間鲤屡。一行語句寫不開损痰,在上一行最后加\,可以折到下一行寫酒来,但是不能分割單詞卢未。...
    素理想閱讀 211評論 0 0
  • 一、Python介紹 Python 是一個高層次的結(jié)合了解釋性堰汉、編譯性辽社、互動性和面向?qū)ο蟮哪_本語言。 Python...
    淺色年華_7d4f閱讀 241評論 0 0