簡(jiǎn)介:python是一門完全面向?qū)ο蟮木幊陶Z(yǔ)言。
哲學(xué):Python 的設(shè)計(jì)哲學(xué)是優(yōu)雅蜡秽、明確府阀、簡(jiǎn)單。
特性:python是一門強(qiáng)類型芽突,動(dòng)態(tài)類型的語(yǔ)言试浙。
特性
- 強(qiáng)類型,一個(gè)數(shù)據(jù)的類型一旦被確定寞蚌,如果不經(jīng)過強(qiáng)制轉(zhuǎn)換田巴,就不會(huì)被更改。
print('1' + 2) # ==>TypeError: must be str, not int
print(int('1') + 2) # ==> 3
弱類型:
數(shù)值與字符型相加挟秤,拼接成字符串壹哺;
"1"+2 => '12'
int和float相加,弱類型會(huì)隱式轉(zhuǎn)換成float相加艘刚,而強(qiáng)類型則不行管宵;
- 動(dòng)態(tài)類型,可以任意修改數(shù)據(jù)的類型,相比于靜態(tài)類型,聲明了一個(gè)變量用于保存字符串箩朴,那么這個(gè)變量笛臣,就只能字符串了,不能在存儲(chǔ)其他類型隧饼。python中變量無類型,隨時(shí)可變静陈。python不需要聲明數(shù)據(jù)類型
name = 'a' # 字符串
name = 1 # 數(shù)字
name = [] # 列表
name = {} # 字典
變量命名規(guī)則
- 由數(shù)字燕雁,字母,下劃線組成鲸拥;
- 不能以數(shù)字開頭拐格;
- 不要用python關(guān)鍵字;
- 盡量取一個(gè)有意義的名字刑赶,“見名知意”
- 區(qū)分大小寫捏浊;
數(shù)值類型
數(shù)值類型就是我們平常用來做計(jì)算的數(shù)字類型,在python中有如下幾種數(shù)值類型:
整型 int: a = 2
浮點(diǎn)型 float: b = 2.5
布爾型 bool:flag = True
復(fù)數(shù)型 complex:c = 1.5 + 0.5j (在python中用小寫 j 撞叨,表示虛部金踪,用其他的字母不行)
數(shù)值類型主要是用來是做運(yùn)算的,所以還會(huì)有如下的運(yùn)算符
數(shù)值運(yùn)行常用運(yùn)算符:
+ - / //(整除牵敷,向下取整) %(取余) ** (冪)
賦值運(yùn)算符
= += -= *= /= ....
基本數(shù)值類型中前三種是常用的胡岔,復(fù)數(shù)在數(shù)學(xué)里面用得多,但是一般是用不上的枷餐。
序列類型
在python中三種序列類型靶瘸,序列類型簡(jiǎn)單來說就是對(duì)象里面的元素是有順序的
字符串 str
列表 list
元組tuple
可變序列:list
不可變序列:str,tuple
1).創(chuàng)建序列
字符串用引號(hào)創(chuàng)建
注:其中三個(gè)引號(hào)支持換行毛肋,其他兩個(gè)不支持怨咪;
列表用中括號(hào) [] 創(chuàng)建
元組用小括號(hào)() 或者 直接用逗號(hào)隔開各元素
注:當(dāng)元組只有一個(gè)元素時(shí)注意加逗號(hào),否則當(dāng)做整型處理润匙;
2).序列的通用操作:
索引取值切片诗眨;
類型的轉(zhuǎn)換: str() list() tuple ();
相加 + +=趁桃;
重復(fù) * *=辽话;
檢查成員 in not in;
索引取值切片
索引:正向索引和反向索引
注:索引即利用下標(biāo)來取對(duì)應(yīng)元素卫病,下標(biāo)是從0或者-1到序列長(zhǎng)度-1油啤,圖中錯(cuò)誤是因?yàn)閟最長(zhǎng)下標(biāo)為s[5]或s[-6]
下面以圖形來講解序列的分布
索引從0 ~ 13或者-1 ~ -14,注意不要越界s翱痢益咬!
求序列長(zhǎng)度
切片:
切片的返回結(jié)果類型和切片對(duì)象類型一致,返回的是切片對(duì)象的子序列帜平,如:對(duì)一個(gè)列表切片返回一個(gè)列表幽告;
步長(zhǎng)step默認(rèn)為1梅鹦。
正向:從左至右,左閉右開冗锁;正向時(shí)步長(zhǎng)step為正齐唆,就是每次截取幾個(gè)取前面第一個(gè)
逆向:反過來,從右至左冻河,注意左閉右開箍邮,步長(zhǎng)step為負(fù),就是每次截取幾個(gè)叨叙,取后面那個(gè)锭弊。
總結(jié):對(duì)于切片不管是正序還是倒序,只要記住起始為閉擂错,終點(diǎn)為開即可味滞。在step的符號(hào)一定的情況下,start和end可以混合使用正向和反向索引钮呀,無論怎樣剑鞍,你都要保證start和end之間有和step方向一致元素 間隔,否則會(huì)切出空列表行楞;
如果一邊沒寫哪個(gè)索引攒暇,則對(duì)應(yīng)是“到底”,同時(shí)子房,step的正負(fù)決定了切片結(jié)果的元素采集的先后形用,而step默認(rèn)為1。
注意:列表和元組類似處理方式证杭,對(duì)于切片操作需要看返回的是什么類型的列表還是元組田度,如果取其中元素值需要注意操作;
類型的轉(zhuǎn)換: str() list() tuple ()
只有數(shù)字型的字符串才能轉(zhuǎn)換為整型int()
注意:list()需要迭代器解愤,字符串或者元組和列表镇饺,數(shù)值型不行!所以list(1,3)會(huì)報(bào)錯(cuò)K徒病奸笤!
元組類似列表處理
相加 + +=
注:因?yàn)槭菑?qiáng)類型語(yǔ)言,類型不可變哼鬓,只能做同類型處理监右;
重復(fù) * *=
檢查成員 in not in
課后實(shí)踐:
- 時(shí)間為20171206,通過除法和取余异希,來得到對(duì)應(yīng)的日健盒,月,年。請(qǐng)用代碼完成扣癣。
date = 20170608
print('year=',date // 10000)
print('month=',date //100 % 100)
print('day=',date % 100 )
總結(jié):通過//和%取得相應(yīng)數(shù)字對(duì)應(yīng)位數(shù)值惰帽,一般可通過其余%來計(jì)算一個(gè)周期,比如數(shù)7游戲父虑,一群人圍成一圈该酗,數(shù)到7的倍數(shù),則出列士嚎,游戲繼續(xù)垂涯。
- 對(duì)一個(gè)長(zhǎng)度為5的列表,用多種方法取第3位的值航邢。
li = ['I','learn','python','very','hard']
num1 = li[2]
num2 = li[2:3][0] ##返回還是列表,用索引去里面值
num3 = li[-3]
num4 = li[-3:-4:-1][0] #-1不能省略不寫骄蝇,否則默認(rèn)為1膳殷,索引和step步長(zhǎng)方向不一致,起出來的為空列表
num5 = li[2:3:2][0]
num6 = li[2::3][0]
num7 = li[2:-2][0]
num8 = li[1:-4:-1] #倒序則左閉右開九火,-1不能省略赚窃;
num9 = li[-3:1:-1][0]