python學(xué)習(xí)總結(jié)
1.程序中注釋的用法银还、意義和作用抛寝;
2.學(xué)習(xí)Python語言的第一個簡單的程序"Hello World!"瘫里,以及函數(shù)print()的用法;
3.常見的幾種進(jìn)制(2,8,16)的構(gòu)成基數(shù)上炎、特點(diǎn),以及它們和十進(jìn)制之間互相的轉(zhuǎn)換雏搂;
4.在Python程序中使用的基本數(shù)據(jù)類型藕施,主要包括整型、浮點(diǎn)型凸郑、字符串裳食、布爾類型、空值芙沥;并學(xué)習(xí)各種數(shù)據(jù)的運(yùn)算處理诲祸;
5.學(xué)習(xí)變量的作用和命名要求浊吏,以及在動態(tài)語言Python中和其他靜態(tài)語言中變量賦值方式的不同宿亡;
6.在Python中運(yùn)算符的類型岩遗,相應(yīng)的作用以及操作方法。
1.? 注釋
? 注釋:代碼中不會被編譯器執(zhí)行的部分(不會起到任何程序作用叶雹,用來備注着憨、說明用的)
? 注釋的作用:
a.對程序進(jìn)行說明注釋 b.關(guān)閉程序中的某些功能,對某些需要保留但又需要沉默的代碼進(jìn)行注釋c.建議:寫程序一定要多寫注釋,即為了自己以后容易修改和找出毛病墩衙,也為了別人容易理解代碼塊的意義和作用
1.1 單行注釋
? 在說明性文字前加 # 鍵可以當(dāng)行注釋,該方法在前面包含有義代碼時也可以在后部添加注釋(代碼行1甲抖,2都可以)漆改;也可以使用快捷鍵 Ctrl+/? ,該快捷鍵具有添加注釋和取消注釋的雙重功能惧眠,但是當(dāng)前面有有義代碼時不可使用此方法在后部添加注釋(代碼行1可以籽懦,代碼行2不可以)。
1.#print("hello world!") ? ?
2.print("hello world!") ? ? #注釋氛魁,這行前面的就是有義代碼
1.2 多行注釋
? 1.多行注釋可以采用三個單引號 '''或三個雙引號"""成對使用的方法實(shí)現(xiàn)暮顺。
'''
這是多行注釋,采用三個單引號成對使用
'''
"""
這也是一個多行注釋,采用三個雙引號成對使用
"""
2. 對于多行需要注釋掉的代碼進(jìn)行注釋時也可以將全部代碼選中后秀存,用快捷鍵Ctrl+/ 捶码,這個功能很有用,當(dāng)我們希望恢復(fù)代碼塊功能的時候又可以將其全部選中或链,再次 Ctrl+/ 惫恼,取消注釋。
? ? ? #print("Hello world!")
? ? ? ? # print("Hello world!")
? ? ? ? # print("Hello world!")
? ? ? ? # print("Hello world!")
2. 第一個Python程序
? 在我們學(xué)習(xí)語言的時候澳盐,接觸的第一個程序通常都是"Hello World!",這是最簡單的程序祈纯,其實(shí)現(xiàn)是使用函數(shù)print(){print()是一個系統(tǒng)提供的函數(shù),作用是控制臺打印括號里包含的內(nèi)容},將文本信息"Hello World!"放置到括號()中叼耙,即可運(yùn)行后打印出"Hello World!"
print("Hello world!")
print("Hello world!");print("Hello Python!")
? 每條語句結(jié)束后可以不寫分號腕窥,但是如果在單行里輸入多條語句則必須寫分號隔離;一般為了避免出錯和力求代碼簡潔,不建議單行多語句筛婉。
3. 進(jìn)制及不同進(jìn)制間的轉(zhuǎn)換
? 進(jìn)制是指計數(shù)時采用的進(jìn)位方式簇爆,我們平常生活中常用的是十進(jìn)制,即計數(shù)時是逢10進(jìn)1爽撒,比如189的下一位是190入蛆,其構(gòu)成基數(shù)有:0,1,2,3,4,5,6,7,8,9 .通常我們看到一個由0-9基數(shù)構(gòu)成的數(shù)字時,如果沒有加以特別說明硕勿,我們都會默認(rèn)為其為十進(jìn)制數(shù)字哨毁。
3.1 二進(jìn)制
? 二進(jìn)制是計算機(jī)中比較出去常用的進(jìn)制,機(jī)器語言就是二進(jìn)制源武,其基數(shù)只包含0和1挑庶,其特點(diǎn)是縫2進(jìn)1言秸,比如01101,下一位就是01110迎捺,通常為了與十進(jìn)制數(shù)字區(qū)分举畸,加前綴0b表示二進(jìn)制數(shù)值,即0b1001表示二進(jìn)制數(shù)1001.
3.2 八進(jìn)制
? 八進(jìn)制是指基數(shù)只有0,1,2,3,4,5,6,7的進(jìn)制凳枝,其特點(diǎn)是縫8進(jìn)1抄沮,比如1367,下一位就是1370.通常為了與十進(jìn)制數(shù)字區(qū)分岖瑰,加前綴0o表示二進(jìn)制數(shù)值叛买,即0o1071表示二進(jìn)制數(shù)1001.
3.3 十六進(jìn)制
? 十六進(jìn)制也是計算機(jī)中比較常見的進(jìn)制,在表示顏色時就采用了這種進(jìn)制蹋订÷收酰基數(shù)有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f;其中a,b,c,d,e,f分別對應(yīng)10,11,12,13,14,15.特點(diǎn)是縫16進(jìn)1,比如2ff,下一位就是300露戒。通常為了與十進(jìn)制數(shù)字區(qū)分椒功,加前綴0x表示二進(jìn)制數(shù)值,即0x1001表示二進(jìn)制數(shù)0x2ef1.
3.4 進(jìn)制間的轉(zhuǎn)換
? 在不同的環(huán)境智什,同一數(shù)據(jù)有不同的進(jìn)制標(biāo)識的需要动漾,因此進(jìn)制間的轉(zhuǎn)換也十分重要。
3.4.1 二進(jìn)制轉(zhuǎn)換成其他進(jìn)制
? 1.二進(jìn)制數(shù)->十進(jìn)制數(shù):將二進(jìn)制數(shù)從右往左一次將數(shù)字乘以2的相應(yīng)乘方荠锭,比如從右往左第一位就是2^0,第二位就是2^1,以此類推旱眯。
例1:? 0b1101=1*2^0+1*2^2+1*2^3=13
例2:? 0b11011=1+2+0+8+16=27
例3:? 0b110110110=6(1+8+64)=438=2716+6=270+162+6;簡便計算(110=6,分隔三段证九,每段三位删豺,差2^3,所以等于6(1+2^3+2^3*2^3)愧怜;另一種簡便計算:11011=27吼鳞,后面四位差2^4,所以等于272^4+0110=332+6
? 2.二進(jìn)制->八進(jìn)制:從右邊向左開始,三位轉(zhuǎn)成一位叫搁,不夠三位時添0補(bǔ)齊位數(shù),如1001只有四位供炎,就在左邊添加00渴逻,補(bǔ)齊成六位即001 001,每三位都可以轉(zhuǎn)換成0-7的數(shù)音诫,轉(zhuǎn)換后的數(shù)字即為八進(jìn)制數(shù)惨奕。
例1:? 1000101->1 000 101->001 000 101->1 0 5->105,即二進(jìn)制中的1000101,轉(zhuǎn)換成八進(jìn)制時是105
? 3.二進(jìn)制->十六進(jìn)制:從右邊向左開始竭钝,四位轉(zhuǎn)成一位梨撞,不夠四位時添0補(bǔ)齊位數(shù)雹洗,如101101只有六位,就在左邊添加00卧波,補(bǔ)齊成八位即001 01101时肿,每四位都可以轉(zhuǎn)換成0-f的數(shù),轉(zhuǎn)換后的數(shù)字即為十六進(jìn)制數(shù)港粱。
例1:? 1001000101->10 0100 0101->0010 0100 0101->2 4 5->245,即二進(jìn)制中的1001000101螃成,轉(zhuǎn)換成十六進(jìn)制時是245
? 4.在Python中提供了將其他進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的函數(shù)bin(),該函數(shù)可以將括號()里的數(shù)字轉(zhuǎn)換成前綴為0b的二進(jìn)制數(shù)。
print(bin(121))? ? #代碼
print(bin(0o121))
print(bin(0x121))
0b1111001? ? ? ? ? #運(yùn)行結(jié)果
0b1010001
0b100100001
3.4.2 八進(jìn)制轉(zhuǎn)換成其他進(jìn)制
? 1.八進(jìn)制數(shù)->十進(jìn)制數(shù):將八進(jìn)制數(shù)從右往左一次將數(shù)字乘以8的相應(yīng)乘方查坪,比如從右往左第一位就是8^0,第二位就是8^1,以此類推寸宏。
例1: 0o142=2*8^0+4*8^1+1*8^2=2+32+64=98
例2: 0o14212=98*8^2+2*8^0+1*8^1=98*64+2+8=6282(簡便計算法)
? 2.八進(jìn)制數(shù)->二進(jìn)制數(shù):從右邊向左開始,一位轉(zhuǎn)成三位偿曙,轉(zhuǎn)換后的數(shù)字即為二進(jìn)制數(shù)氮凝,當(dāng)獲得的數(shù)左邊第一位為0時可以去掉,直達(dá)為1為止望忆。
例1.:0o124->0b 001 010 100->0b1010100
? 3.八進(jìn)制數(shù)->十六進(jìn)制數(shù):將八進(jìn)制轉(zhuǎn)換成二進(jìn)制罩阵,再將二進(jìn)制轉(zhuǎn)換成十六進(jìn)制
例1 : 0o2345->0b 010 011 100 101->0b 0100 1110 0101->0x 4 d 5->0x4d5
? 4.在Python中提供了將其他進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)的函數(shù)oct(),該函數(shù)可以將括號()里的數(shù)字轉(zhuǎn)換成前綴為0o的八進(jìn)制數(shù)。
print(oct(121))
print(oct(0b110001))
print(oct(0x121))? ? ? #代碼塊
0o171
0o61
0o441 ? ? ? ? ? ? ? ? ? #運(yùn)行結(jié)果
3.4.3 十進(jìn)制轉(zhuǎn)換成其他進(jìn)制
? 十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制炭臭、八進(jìn)制永脓、十六進(jìn)制數(shù)的方式都是求余的方式。下面以二進(jìn)制為例1:{或使用函數(shù)bin()}
? ? 34/2=17~0 ? ? ? ?? #商為17鞋仍,余數(shù)為0
? ? 17/2=8~1 ? ? ? ? ? #取上面的商再次除2常摧,余數(shù)為1
? ? 8/2=4~0
? ? 4/2=2~0
? ? 2/2=1~0
? ? 1/2=0~1? ? ? ? #直至商為零結(jié)束,
? ? 34-> 0b100010? ? ? #從下往上取余數(shù)威创,依次從右往左寫落午,即為二進(jìn)制數(shù)
? 例2: 十進(jìn)制數(shù)->八進(jìn)制數(shù){或使用函數(shù)oct()}
? ? 329/8=41~1
? ? 41/8=5~1
? ? 5/8=0~5
? ? 329-> 0o511
? 例3 : 十進(jìn)制數(shù)->十六進(jìn)制數(shù){或使用函數(shù)hex()}
? ? 346/16=21~10
? ? 21/16=1~5
? ? 1/16=0~1
? ? 345->0x15a
3.4.4 十六進(jìn)制轉(zhuǎn)換成其他進(jìn)制
? 1.十六進(jìn)制數(shù)->十進(jìn)制數(shù):將十六進(jìn)制數(shù)從右往左一次將數(shù)字乘以16的相應(yīng)乘方,比如從右往左第一位就是16^0,第二位就是16^1,以此類推肚豺。
例1: 0x2e4->4*16^0+14*16^1+2*16^2=4+224+512=740
? 2.十六進(jìn)制數(shù)->二進(jìn)制數(shù):從右邊向左開始溃斋,一位轉(zhuǎn)成四位,轉(zhuǎn)換后的數(shù)字即為二進(jìn)制數(shù)吸申,當(dāng)獲得的數(shù)左邊第一位為0時可以去掉梗劫,直達(dá)為1為止。
例1: 0x2e4->0b 0010 1110 0100->0b1011100100
? 3.十六進(jìn)制數(shù)->八進(jìn)制數(shù):將十六進(jìn)制轉(zhuǎn)換成二進(jìn)制截碴,再將二進(jìn)制轉(zhuǎn)換成八進(jìn)制
例1 :0x3f7->0b 0011 1111 0111->0b 001 111 110 111->0o 1 7 6? 7->0o1767
?? ? ? 4.在Python中提供了將其他進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)的函數(shù)hex(),該函數(shù)可以將括號()里的數(shù)字轉(zhuǎn)換成前綴為0x的十六進(jìn)制數(shù)梳侨。
print(hex(121))
print(hex(0o121))
print(hex(0b1001001001001))? #代碼塊
0x79
0x51
0x1249? ? ? ? ? ? ? ? ? #運(yùn)行結(jié)果
4. 基礎(chǔ)數(shù)據(jù)類型
? Python語言中的基本數(shù)據(jù)類型包含:整型、浮點(diǎn)型日丹、字符串走哺、布爾值、空值哲虾。
4.1 整型
? 整型包含正整數(shù)丙躏、負(fù)整數(shù)和零择示。當(dāng)我們希望將一個數(shù)據(jù)類型轉(zhuǎn)換成整型的時候可以使用函數(shù) int(),其用法是將需要轉(zhuǎn)換的數(shù)據(jù)放置于()內(nèi)晒旅,用print(int(數(shù)據(jù)))的方式打印出來栅盲。函數(shù)int() :可以將數(shù)據(jù)轉(zhuǎn)換成整型;浮點(diǎn)數(shù)直接去尾取整數(shù)部分作為結(jié)果敢朱,字符串轉(zhuǎn)換必須是全數(shù)字字符串剪菱,函數(shù)int()無法直接將字符串"234.9"轉(zhuǎn)換成234,會導(dǎo)致報錯拴签,但是可以將字符串"234"轉(zhuǎn)換成整型234,即函數(shù) int()可以直接將整型數(shù)字字符串轉(zhuǎn)換成浮點(diǎn)型孝常。
a = "123" ? ? ? ? ? ? ? ? ?
b = 243.9
c = True
d = False
print(int(a))? ? ? ? # =123
print(int(b))? ? ? ? ? # =243
print(int(c))? ? ? ? ? # =1
print(int(d))? ? ? ? ? # =0
print(int())? ? ? ? ? ? # =0
?
# 函數(shù) int()可以轉(zhuǎn)換的數(shù)據(jù)類型包括:整型、浮點(diǎn)型蚓哩、數(shù)字型(只能是整型)字符串构灸、布爾類型、空值
4.2 浮點(diǎn)型
? 浮點(diǎn)型包含小數(shù)岸梨,即由數(shù)字和小數(shù)點(diǎn)構(gòu)成的數(shù)字喜颁。當(dāng)我們希望講一個函數(shù)轉(zhuǎn)換成浮點(diǎn)數(shù)的時候可以使用函數(shù) float(),其用法是將需要轉(zhuǎn)換的數(shù)據(jù)放置在()內(nèi)曹阔,用print(float(數(shù)據(jù)))的方式打印出來半开。函數(shù) float():將數(shù)據(jù)轉(zhuǎn)換成浮點(diǎn)型
a = "123.8"
b = 243
c = True
d = False
e = 1e4
f = "abc" ? ? ?? # 函數(shù)float()、int()都無法將非數(shù)字型字符串轉(zhuǎn)化成浮點(diǎn)型赃份、整型,會導(dǎo)致報錯
print(float(a))? ? # = 123.8
print(float(b))? ? # =243.0
print(float(c))? ? # =1.0
print(float(d))? ? # =0.0
print(float(e))? ? # =10000.0
print(float()) ? ? # =0.0
?
# 函數(shù)float()可以轉(zhuǎn)換的數(shù)據(jù)類型包括:整型寂拆、浮點(diǎn)型、數(shù)字型(整型或浮點(diǎn)型)字符串抓韩、布爾類型纠永、空值
4.3 字符串
? 字符串(string)是用雙引號或單引號括起來的所有文本信息,其中文本信息可以是數(shù)字谒拴、字母尝江、文字、符號英上、空格等炭序。
4.3.1 轉(zhuǎn)義字符
1.在需要進(jìn)行轉(zhuǎn)義的字符前加 \ 可以將一些特殊的沒有辦法直接用文本表示出來的字符打印出來。比如當(dāng)我們直接用print(""")希望打印一個"的時候會報錯苍日,但是print("\"")可以成功打印出" 惭聂,但是我們希望打印\的時候需要再額外加一個\? ,部分轉(zhuǎn)義結(jié)果 :
# \'->' ; \"->" ;\\->\ ; \\\"->\"
print("\'")
print("\"")
print("\\")
print("\\\"") ? ?? #代碼塊
?
'
"
\
\"? ? ? ? ? ? ? #運(yùn)行結(jié)果?
? 2.轉(zhuǎn)行符和縮進(jìn)符:換行可以在字符串前面添加 轉(zhuǎn)行符 \n易遣;
縮進(jìn)四個空格或一個制表符,可以在字符串前面添加 縮進(jìn)符 \t嫌佑。
print("\t and")
print("\n and") ? ? ? ? ?? #代碼塊
1. ?? and
2.
3.and? ? ? ? ? ? ? ? ? #運(yùn)行結(jié)果
4.3.2 特殊的字符串
? "”(僅有一對雙引號表示的字符串):空串豆茫;" "(一對雙引號中間一個空格):空格字符串侨歉,"\0"==None(空),這個是C語言里的字符串的結(jié)束字符揩魂,當(dāng)一個運(yùn)算結(jié)果沒有數(shù)據(jù)輸出時會顯示None.
print("") ? ? ? ? ? ? ?? #用函數(shù)len()測算長度為0
print(" ")? ? ? #用函數(shù)len()測算長度為1
print("\0") ? ?? #代碼塊 #用函數(shù)len()測算長度為1
1.
2.
3.<0X00> ? ? ? ? #運(yùn)行結(jié)果
4.3.3 可以用以處理字符串的部分常用函數(shù)
? 1.函數(shù) title(): 將字符串首字母大寫:使用函數(shù) title()幽邓,用法是將變量放置在前,后面加上.title()
str1="jessica"
str2="hello world"
print(str1.title())
print(str2.title()) ? ?? #代碼塊
Jessica
Hello World ? ? ? ? ? ? ? #運(yùn)行結(jié)果
? 2.函數(shù) upper():將字符串中的字母全部大寫:使用函數(shù)upper(),用法是將變量放置在前火脉,后面加上 .upper()
str1="jessica"
str2="hello world!"
print(str1.upper())
print(str2.upper()) ? ? ?? #代碼塊
JESSICA
HELLO WORLD!? ? ? ? ? ? #運(yùn)行結(jié)果
? 3.函數(shù) lower(): 將字符全部轉(zhuǎn)換成小寫字母:使用函數(shù)lower(),用法是將變量放置在前牵舵,后面加上.lower()
str1="Jessica"
str2="Hello World"
print(str1.lower())
print(str2.lower())? ? ? ? #代碼塊
jessica
hello world? ? ? ? ? ? ? ? #運(yùn)行結(jié)果
? 4.函數(shù) startswith():有時候我們需要準(zhǔn)確的打印字符串,因此需要進(jìn)行驗(yàn)證倦挂,使用函數(shù)startswith() 可以讓我們知道打印的字符是否以我們指定的字符串開頭的畸颅,用法: string.startswith(指定字符串),這個函數(shù)返回布爾值方援,一致時返回True,不一致時返回False没炒。
#代碼塊
string="hello world!"
print(string.startswith("he")) ?? #指定以"he"開頭,如果是返回True
print(string.startswith("we")) ?? #指定以"we"開頭犯戏,如果不是返回False
#運(yùn)行結(jié)果
True
False
? 5.函數(shù) endswith():有時候我們也需要去驗(yàn)證打印的字符串其結(jié)尾是否以指定的字符串結(jié)尾送火,使用函數(shù)endswith(),用法:string.endswith(指定字符串)先匪,這個函數(shù)返回布爾值种吸。
string="hello world!"print(string.endswith("he"))print(string.endswith("ld!"))#代碼塊
FalseTrue #運(yùn)行結(jié)果
? 6.函數(shù) len():獲取字符串的長度,使用函數(shù)len()獲妊椒恰坚俗;用法是將變量放置在()中
print(len("Hello World!"))? ? #代碼塊
12? ? #運(yùn)行結(jié)果?
? 7.函數(shù) str():可以將所有的非字符串類型轉(zhuǎn)換成字符串類型打印輸出,用法是將變量放入()中姜钳。
a = 2b = 3c = a + bd = "abc"e = "def"f = d + eprint(c)print(f)print(str(a)+d)#代碼塊
5? #運(yùn)算結(jié)果abcdef2abc#將整型數(shù)據(jù)2轉(zhuǎn)換成字符類型"2"并與字符串"abc"進(jìn)行拼接
? 8.拼接運(yùn)算符 + :當(dāng)我們希望將兩個字符串進(jìn)行連接拼接的時候坦冠,可以直接使用運(yùn)算符+,其作用是將引號內(nèi)的信息進(jìn)行簡單拼接并放置到一個引號中哥桥,成為新的字符串辙浑。例:
str1="i love you,"str2="my baby!"str3=str1+str2print(str3)#代碼塊
"i love you,my baby!"? ? ? ? ? ? ? ? ? #運(yùn)行結(jié)果? ? ? ?
4.4 布爾類型
? 布爾類型的數(shù)據(jù)只有兩個值:True 和 False(注意首字母是大寫),True->真拟糕,或者條件成立判呕; False->假,或條件不成立送滞。比較運(yùn)算返回的數(shù)據(jù)類型是布爾值類型侠草,判斷語句需要返回值時布爾類型的值。二進(jìn)制中的1和0分別對應(yīng)布爾類型中的True和False,所以當(dāng)使用函數(shù) int()和float()對布爾值進(jìn)行轉(zhuǎn)換的時候?qū)幸韵陆Y(jié)果:
print(int(True))
print(int(False))
print(float(True))
print(float(False))? ? ? ? #代碼塊
101.00.0? #運(yùn)行結(jié)果
? 布爾函數(shù) bool()可以將其他數(shù)據(jù)類型轉(zhuǎn)換成布爾類型犁嗅。函數(shù)bool()可以轉(zhuǎn)換的類型有:所有數(shù)據(jù)類型(數(shù)據(jù)本身沒有錯誤)都會返回結(jié)果True边涕,除了0、False(布爾值本身)、空值功蜓、空串(注意空格字符為真)园爷、None(空)。
a = "123.8"; b = 243 ; c = 243.7 ; d = True ; e = False;f = "abc"? ; g = 0? ; h = 5+2j? ; i = -4? print(bool(a))# Trueprint(bool(b))# Trueprint(bool(c))# Trueprint(bool(d))# Trueprint(bool(e))#False,布爾值False本身print(bool(f))# Trueprint(bool(g))#False式撼,0print(bool(h))# Trueprint(bool(i))# Trueprint(bool())#False童社,空值print(bool(""))#False,空串print(bool(" "))# True著隆,空格print(bool("\0"))# True扰楼,print(bool(None))? #False
4.5 空值
? 空值:None,是指運(yùn)算后沒有結(jié)果或數(shù)據(jù)輸出的情況就是None.
5. 變量
? 變量是用于存儲數(shù)據(jù)美浦,便于對數(shù)據(jù)進(jìn)行操作的容器弦赖。聲明變量:一般是變量的類型+變量名,如整數(shù)型變量 int(3)抵代,float(2.3)
? 標(biāo)識符腾节,在編程語言中,標(biāo)識符是用戶編程時使用的名字荤牍,對于變量案腺、常量、函數(shù)康吵、語句塊也有名字劈榨,我們統(tǒng)統(tǒng)稱之為標(biāo)識符。標(biāo)識符的命名要求:
? 1.必須是由字母晦嵌、數(shù)字和下劃線(int_float)組成同辣,并且數(shù)字不能作為變量名的開頭(強(qiáng)制)
? 2.大小寫敏感(大小寫不一致表明標(biāo)識符不一致,name 和 Name 不是一致標(biāo)識符)
? 3.如果標(biāo)識符是由多個單詞組成的惭载,每個單詞之間用下劃線隔開(my_friends_names)(規(guī)范) 4.命名最好要見名知義 5.變量名所有字母小寫
? 6.不能是關(guān)鍵字或者Python系統(tǒng)提供的函數(shù)的函數(shù)名旱函,比如print、title 等
? 代碼塊? ? ? name = "you_tao"? 中name就是一個字符串類型的標(biāo)識符描滔,= 是賦值操作符棒妨,將字符串"you_tao"賦值給name.
? python 是動態(tài)語言,變量聲明的時候不用指定變量的類型含长,可以賦任意的值券腔,并且可以改變變量的值,以及變量的類型拘泞。Python存儲數(shù)據(jù)的原理是在內(nèi)存塊中開辟一個空間纷纫,先將數(shù)據(jù)存入其中,再將變量指向數(shù)據(jù)值陪腌,數(shù)據(jù)值就會賦予給變量辱魁;當(dāng)有新數(shù)據(jù)出現(xiàn)的時候烟瞧,將會在內(nèi)存空間中新開辟一個空間存儲數(shù)據(jù),原來的指向連接將會斷裂染簇,變量將會指向新的數(shù)據(jù)值燕刻,因此其可以賦予不同類型的值。而其他靜態(tài)語言是先在內(nèi)存中開辟一個固定類型和大小的空間用以裝在變量所表示的數(shù)據(jù)類型剖笙,并以此空間表示變量,當(dāng)有新數(shù)據(jù)出現(xiàn)的時候请唱,舊數(shù)據(jù)將會被移除并將新數(shù)據(jù)裝載在該空間中表示變量弥咪,因此靜態(tài)語言的變量具有類型和大小的限制性。
6. 運(yùn)算符
6.1 數(shù)字運(yùn)算符
? 學(xué)習(xí)了基本的數(shù)字運(yùn)算符十绑,包括求和(+)聚至,求差(-),求積(*),求商(/),求余(%)本橙,整除(//),乘方(**)扳躬。
? 1.求和運(yùn)算符 + 可以將數(shù)字進(jìn)行簡單相加求和,也可以對字符串進(jìn)行拼接甚亭。
a = 2b = 3c = a + bd = "abc"e = "def"f = d + eprint(c)? ? ? ? ? ? # = 5print(f)# = abcdefprint(str(a)+d) # = 2abc
? 2.求差運(yùn)算符 - 可以對數(shù)字進(jìn)行簡單的相減求差贷币。
a = 3b = 2print(a-b)# = 1
? 3.求積運(yùn)算符 * 可以對數(shù)字進(jìn)行相乘求積。
a = 4b = 5print(a*b)? # = 20
? 4.求商運(yùn)算符 / 可以對兩個數(shù)進(jìn)行除法運(yùn)算求商亏狰。
a = 6b = 8print(a/b)# = 0.75役纹,6/8=0.75
? 5.求余運(yùn)算符 % 可以獲得兩個數(shù)做除法時所得的余數(shù)。注意暇唾,在Python語言中促脉,不存在百分號的字符,因此不可在Python語言中將%當(dāng)做百分號使用策州。
a = 7b = 4print(a%b)# = 3瘸味,7/4=1……3,余數(shù)是3
? 6.整除運(yùn)算符 //可以對兩個數(shù)進(jìn)行除法運(yùn)算后獲得商的整數(shù)部分够挂。
a = 13b = 6print(a//b)# = 2旁仿,13/6的證書部分
? 7.乘方運(yùn)算符**可以對兩個數(shù)進(jìn)行乘方運(yùn)算。
a = 4b = 3print(a**b)# = 64下硕,a^b,4的3次方
? 在Python中的復(fù)合(是指包含多種運(yùn)算符的運(yùn)算丁逝,即數(shù)學(xué)中的混合運(yùn)算)運(yùn)算和數(shù)學(xué)中是一樣的,其優(yōu)先次序是一致的梭姓,括號中的運(yùn)算優(yōu)先級最高霜幼。
6.2賦值運(yùn)算符
? 賦值運(yùn)算符:=,+=,-=,*=,/=,**=,//=,%=,可以通過賦值運(yùn)算符將符號右邊的值通過相應(yīng)的計算方式將值賦予給左側(cè)的變量。其具體運(yùn)算規(guī)則如下列代碼所示:
num1=12# 直接把右邊的值賦予給左邊的變量num2=1,num2+=3? ? ? #它是num2=num2+3 的變式,注意:這必須給num2 先賦值誉尖,num3=2,num3-=1? ? ? # 它是num3=num3-1 的變式罪既,注意:num3 必須先賦值num4=3,num4*=7? ? # 它是num4=num4*7 的變式,注意:num4 必須先賦值num5=43,num5/=6? ? ? # 它是num5=num5/6 的變式,注意:num5 必須先賦值num6=5,num6**=3? ? # 它是num6=num6**3 的變式琢感,注意:num6 必須先賦值num7=387,num7//=5 # 它是num7=num7//5 的變式丢间,注意:num7 必須先賦值num8=89,num8%=3? ? ? # 它是num8=num8%3 的變式,注意:num8 必須先賦值
6.3 比較運(yùn)算符
? 比較運(yùn)算符:包括>,>=,<,<=,==,!=驹针,其作用是對數(shù)據(jù)的大小進(jìn)行比較烘挫,比較運(yùn)算的運(yùn)算結(jié)果是布爾類型,因此其只會返回True和False的其中一個值柬甥。
print(2>3)# = False,2>3是錯誤的print(2>=3)# = False,2>=3是錯誤的print(2<3)# = True,2<3是正確的print(2<=3)# = True,2<=3是正確的num=100print(num==100)# = True,num確實(shí)是等于100的print(num!=100)# = False,num不等于100是錯的print(int(2<3))# = 1饮六,因?yàn)?<3返回的值是True,而True對應(yīng)數(shù)字1,? # 所以用整型轉(zhuǎn)換函數(shù)int()處理后將會得到結(jié)果1print(float(2<3))# = 1.0苛蒲,同上卤橄,用浮點(diǎn)型轉(zhuǎn)換函數(shù)float()處理得到1.0
6.4 邏輯運(yùn)算符
? 邏輯運(yùn)算符:(and,or,not),它們分別可以與數(shù)學(xué)邏輯運(yùn)算中的且,或臂外,非相對應(yīng)窟扑,其運(yùn)算規(guī)則也一致。邏輯運(yùn)算符只能對布爾類型的數(shù)據(jù)進(jìn)行運(yùn)算漏健。
? 1.and (與):前后數(shù)據(jù)類型都為True 結(jié)果為True,否則為False嚎货。
a = True and True? ? ? ? ? ? ? ? ? # = Trueb = True and False # = Falsec = False and False? ? ? ? ? ? ? # = Falsed = 2<3 and 3<4? ? # = Truee = 2<3 and 3>4? ? # = Falsef = 2>3 and 3>4? ? # = Falselists=[a,b,c,d,e,f] # 將以上對象放入到列表中并依次打印出來? for i in lists:? ? ? print(i)
? 2.or (或) :前后數(shù)據(jù)類型有其一為True,結(jié)果為True,否則為False蔫浆。
a = True or True# = Trueb = True or False# = Truec = False or False # = Falsed = 2<3 or 3<4 # = Truee = 2<3 or 3>4# = Truef = 2>3 or 3>4# = Falselists=[a,b,c,d,e,f]#將以上對象放入到列表中并依次打印出來for i in lists:print(i)
? 3.not (非) : 數(shù)據(jù)類型的反面厂抖,True->False; False->True
a = not True# = Falseb = not False # = Truec = not 2<3# = Falselists=[a,b,c]#將以上對象放入到列表中并依次打印出來for i in lists:print(i)