一沪袭、運(yùn)算符
前期準(zhǔn)備:
Python支持:數(shù)學(xué)運(yùn)算符默怨、比較運(yùn)算符、邏輯運(yùn)算符久锥、賦值運(yùn)算符家淤、(位運(yùn)算符)
注意:運(yùn)算符的運(yùn)算對(duì)象不一定是數(shù)據(jù),也可以是存數(shù)據(jù)的變量
例如:
age = 50
print(age / 2)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3瑟由、運(yùn)算符和字符串 12..26/01絮重、運(yùn)算符.py"
25.0
Process finished with exit code 0
1.數(shù)學(xué)運(yùn)算符:+(加)、-(減)、*(乘)青伤、/(除)督怜、//(整除)、%(取余)狠角、**(冪運(yùn)算)号杠。
其中+、-丰歌、*究流、/與數(shù)學(xué)中的加減乘除一模一樣。
例如:
print(55 + 15.)
print(654.5 - 650.5)
print(5 * 6)
print(9 / 2)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3动遭、運(yùn)算符和字符串 12..26/01芬探、運(yùn)算符.py"
70.0
4.0
30
4.5
Process finished with exit code 0
//(整除):
數(shù)字1 // 數(shù)字2 -----數(shù)字1除以數(shù)字2,結(jié)果只取整數(shù)部分
例如:
print(11 // 2.5)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3厘惦、運(yùn)算符和字符串 12..26/01偷仿、運(yùn)算符.py"
4.0
Process finished with exit code 0
練習(xí):取數(shù)字 854 上的百位數(shù)
例如:
print(856 // 100)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、運(yùn)算符和字符串 12..26/01宵蕉、運(yùn)算符.py"
8
Process finished with exit code 0
%(取余)
例如:
print(11 % 3)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3酝静、運(yùn)算符和字符串 12..26/01、運(yùn)算符.py"
2
Process finished with exit code 0
應(yīng)用1:獲取一個(gè)數(shù)的個(gè)位數(shù)
print(798 % 10)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3羡玛、運(yùn)算符和字符串 12..26/01别智、運(yùn)算符.py"
8
Process finished with exit code 0
應(yīng)用2:判斷一個(gè)數(shù)的奇偶(讓數(shù)對(duì)2取余,結(jié)果為1是奇數(shù)稼稿,結(jié)果為0是偶數(shù))
print(100 % 2, 51 % 2)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3薄榛、運(yùn)算符和字符串 12..26/01、運(yùn)算符.py"
0 1
Process finished with exit code 0
**(冪運(yùn)算):x ** y -----求x的y次方
例如:
print(3 ** 3)
print(25 ** 0.5) # x ** (1/2) 為x的開(kāi)平方;x ** (1/3) 為x的開(kāi)立方
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3让歼、運(yùn)算符和字符串 12..26/01敞恋、運(yùn)算符.py"
9
5
Process finished with exit code 0
2.比較運(yùn)算符:
>(大于)、<(小于)谋右、==(等于)硬猫、!=(不等于)、>=(大于等于)改执、<=(小于等于)
所有的比較運(yùn)算符的運(yùn)算結(jié)果都是布爾值
print(1 + 1 > 2) # 結(jié)果為false
print(1 + 1 < 2) # 結(jié)果為false
print(1 + 1 == 2) # 結(jié)果為true
print(1 + 1 != 2) # 結(jié)果為false
print(1 + 1 >= 2) # 結(jié)果為true
print(1 + 1 <= 2) # 結(jié)果為true
例如:
age = 10
print('年齡為::', age)
print('是否成年:', age >= 18)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3啸蜜、運(yùn)算符和字符串 12..26/01、運(yùn)算符.py"
年齡為:: 10
是否成年: False
Process finished with exit code 0
補(bǔ)充:is的使用:
一個(gè)變量有三要素辈挂,分別是:類(lèi)型(變量中存儲(chǔ)的數(shù)據(jù)類(lèi)型)衬横、值(變量存儲(chǔ)的數(shù)據(jù))、地址(變量真正存儲(chǔ)的位置)
類(lèi)型:用print(type(變量))呢岗,查看類(lèi)型
值:使用變量就是使用值
地址:用print(id(變量)),查看地址
==:判斷值是否相等
is:判斷地址是否相等
name = '絕世小丑'
print(type(name), name, id(name))
注意:
list1 = [1, 2, 3]
list2 = [1, 2, 3]
list3 = list1 # 用 = 賦值的時(shí)候冕香,會(huì)把list1的值和地址賦給list3
print(id(list1), id(list3))
除了數(shù)字和字符串,用 = 賦值后豫,均不會(huì)賦值地址
3.邏輯運(yùn)算符::and(邏輯與運(yùn)算)悉尾、or(邏輯或運(yùn)算)、not(邏輯非運(yùn)算)
邏輯運(yùn)算符的運(yùn)算對(duì)象和運(yùn)算結(jié)果都是布爾值
and:
值1 and 值2 -----如果兩個(gè)值都為true挫酿,結(jié)果為true构眯,否則為false;相當(dāng)于生活中的“并且”
True and True --->True
True and False --->False
False and True --->False
False and False --->False
短路操作:
如果第一個(gè)條件為False早龟,就不會(huì)再去判斷第二個(gè)條件惫霸,會(huì)直接讓整個(gè)與運(yùn)算結(jié)果為False
應(yīng)用:要求多個(gè)條件相同滿足時(shí),用邏輯 and 運(yùn)算
練習(xí):能拿獎(jiǎng)學(xué)金的條件是成績(jī)必須90分以上并且測(cè)評(píng)分不低于95
例如:
cj = 90
cp = 85
print('是否能拿獎(jiǎng)學(xué)金:', cj > 90 and cp >= 95)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3葱弟、運(yùn)算符和字符串 12..26/01壹店、運(yùn)算符.py"
是否能拿獎(jiǎng)學(xué)金: False
Process finished with exit code 0
or:
值1 and 值2 -----如果兩個(gè)值都為false,結(jié)果為false芝加,否則為true硅卢;相當(dāng)于生活中的“或者”
True or True --->True
True or False --->True
False or True --->True
False or False --->False
短路操作:如果第一個(gè)條件為T(mén)rue,就不會(huì)再去判斷第二個(gè)條件藏杖,會(huì)直接讓整個(gè)或運(yùn)算結(jié)果為T(mén)rue
應(yīng)用:要求多個(gè)條件只要有一個(gè)滿足時(shí)将塑,用邏輯 or 運(yùn)算
練習(xí):如果考試成績(jī)低于60或者沒(méi)來(lái)聽(tīng)課
cj = 60
is_not_in_class = False # true 表示不在班級(jí);false表示在班級(jí)
print('是否降班:', cj < 60 or is_not_in_class)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3蝌麸、運(yùn)算符和字符串 12..26/01点寥、運(yùn)算符.py"
是否降班: False
Process finished with exit code 0
not:
not 值 -----對(duì)值1進(jìn)行否定(取反);相當(dāng)于生活中的“或者”
not True -->False
not false -->True
應(yīng)用:否定某個(gè)條件
年齡不小于10歲
age = 20
print(not age < 10)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3来吩、運(yùn)算符和字符串 12..26/01敢辩、運(yùn)算符.py"
True
Process finished with exit code 0
4.賦值運(yùn)算符:=(等于)、+=(加等于)弟疆、-=责鳍、=、/=兽间、//=历葛、%=、*=
要求:
所有的賦值運(yùn)算符左邊必須是變量嘀略;右邊必須是有結(jié)果的(是值)
變量 = 結(jié)果 -----將結(jié)果賦給變量
num1 = 1314
num2 = num1 # 變量給變量賦值恤溶,賦的是變量的地址
復(fù)合賦值運(yùn)算符:
+=(加等于)、-=帜羊、=咒程、/=、//=讼育、%=帐姻、*=
復(fù)合賦值運(yùn)算符要求賦值運(yùn)算符號(hào)的左邊除了是變量以外稠集,還要求整改變量已經(jīng)被賦過(guò)值
變量 += 數(shù)字 --> 變量 = 變量 + 數(shù)字
例如:
num3 = 10
num3 += 20 # -->num3 = num3 + 20
print(num3) # 結(jié)果為30
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、運(yùn)算符和字符串 12..26/01饥瓷、運(yùn)算符.py"
30
Process finished with exit code 0
例如:
num3 = 10
num3 -= 20 # -->num3 = num3 - 20
print(num3) # 結(jié)果為-10
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3剥纷、運(yùn)算符和字符串 12..26/01、運(yùn)算符.py"
10
Process finished with exit code 0
5.運(yùn)算符的優(yōu)先級(jí)
注意:在運(yùn)算時(shí)呢铆,布爾中晦鞋,True = 1;False = 0
數(shù)學(xué)運(yùn)算符 > 比較運(yùn)算符 > 邏輯運(yùn)算符 > 賦值運(yùn)算符
數(shù)學(xué)運(yùn)算符中:'*' > '','/','%','//' > '=','-'
優(yōu)先級(jí)高的先算棺克,優(yōu)先級(jí)低的后算悠垛。如果有(),先算()里的娜谊。
二确买、數(shù)字類(lèi)型
1.int:
整型,包含所有的整數(shù)纱皆,支持二進(jìn)制拇惋、八進(jìn)制、十進(jìn)制抹剩、十六進(jìn)制撑帖。
例如:
num00 = 1314 # 十進(jìn)制:默認(rèn)為十進(jìn)制
num01 = 0b10101010 # 二進(jìn)制:0b+二進(jìn)制數(shù)
num02 = 0o77777777 # 八進(jìn)制:0o+八進(jìn)制數(shù)
num03 = 0xfedcba98 # 十六進(jìn)制:0x+十六進(jìn)制數(shù)
print(num00, num01, num02, num03) # 打印的是這個(gè)數(shù)的十進(jìn)制
print('十進(jìn)制是:', 1314, '二進(jìn)制表示為:', bin(1314))
print('十進(jìn)制是:', 1314, '八進(jìn)制表示為:', oct(1314))
print('十進(jìn)制是:', 1314, '十六進(jìn)制表示為:', hex(1314))
print(0b10 + 5) # 可以用不同進(jìn)制進(jìn)行運(yùn)算
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、運(yùn)算符和字符串 12..26/02澳眷、數(shù)字類(lèi)型 12.26.py"
1314 170 16777215 4275878552
十進(jìn)制是: 1314 二進(jìn)制表示為: 0b10100100010
十進(jìn)制是: 1314 八進(jìn)制表示為: 0o2442
十進(jìn)制是: 1314 十六進(jìn)制表示為: 0x522
7
Process finished with exit code 0
2.float:
浮點(diǎn)型胡嘿,包含所有的小數(shù),支持科學(xué)計(jì)數(shù)法钳踊。
例如:
num1 = 123.5
num2 = 3e2 # 代表 3 乘以 10 的 2 次方
print(num2)
num3 = 1.32e2 # 代表 1.32 乘以 10 的 2 次方
print(num3)
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3衷敌、運(yùn)算符和字符串 12..26/02、數(shù)字類(lèi)型 12.26.py"
300.0
132.0
Process finished with exit code 0
3.bool:
布爾拓瞪, 值只有True(1) 和False(0)
True還是表示真缴罗、肯定
False還是表示假、否定
4.complex:
復(fù)數(shù)祭埂,實(shí)部 + 虛部j面氓,注意:前面必須有數(shù)字,不能省略蛆橡。
三舌界、字符串
1.認(rèn)識(shí)字符串
通過(guò)單引號(hào)或雙引號(hào)括起來(lái)的字符集(文本)就是字符串
例如:
str1 = 'adc'
str2 = "adc321"
2.字符串類(lèi)型(str)
str是Python自己提供的一種容器型數(shù)據(jù)類(lèi)型,一個(gè)字符串中可以存儲(chǔ)多個(gè)字符泰演。
什么是字符:在python中呻拌,只有字符的概念,沒(méi)有字符類(lèi)型睦焕,如果在python中要表示一個(gè)字符藐握,用一個(gè)長(zhǎng)度為一的字符串來(lái)表示靴拱。
字符串不可變但是有序,不可變指的是字符的值和字符串的長(zhǎng)度不可變猾普,有序指的是每個(gè)字符在字符串中的位置是確定的
字符串'adc'和字符串'cda'是不一樣的
3.字符串中的字符
普通字符:包含一般的字母袜炕、數(shù)字、符號(hào)抬闷、其它文字妇蛀;例如:'a','D','1'
data = 'adc321哎耕突?'
轉(zhuǎn)義字符:通過(guò)在一些特定的字母前加\笤成,來(lái)表示特殊的功能或者意義。
注意:沒(méi)有阻止轉(zhuǎn)譯的時(shí)候眷茁,一個(gè)轉(zhuǎn)譯字符的長(zhǎng)度為1炕泳。可以在字符串的最前面加r/R上祈,來(lái)阻止轉(zhuǎn)義培遵。(阻止字符串中所有的轉(zhuǎn)義字符轉(zhuǎn)義)
例如:
data0 = '\t姓名:阿黃\n\t物種:狗\n\t年齡:18'
print(data0) # 效果:姓名:阿黃
# 物種:狗
# 年齡:18
data0 = r'\t姓名:阿黃\n\t物種:狗\n\t年齡:18'
print(data0) # 效果:\t姓名:阿黃\n\t物種:狗\n\t年齡:18
# \n -----換行符
data1 = 'adc\n321'
print(data1) # 效果:adc
# 321
# \' -----表示一個(gè)單引號(hào)
data2 = 'halo\'A'
print(data2) # 效果:halo'A
# \" -----表示一個(gè)雙引號(hào)
data2 = "halo\"A"
print(data2) # 效果:halo"A
# \\ -----表示一個(gè)\
data3 = 'halo\\A'
print(data3) # 效果:halo\A
# \t -----表示一個(gè)tab鍵
data4 = 'halo\tA'
print(data4) # 效果:halo A
# 編碼字符:在字符串中用'\u'+ 四位十六進(jìn)制編碼值表示一個(gè)字符
data5 = 'halo\uabc1'
print(data5) # 效果:halo?
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、運(yùn)算符和字符串 12..26/03登刺、字符串 12.26.py"
姓名:阿黃
物種:狗
年齡:18
\t姓名:阿黃\n\t物種:狗\n\t年齡:18
adc
321
halo'A
halo"A
halo\A
halo A
halo?
Process finished with exit code 0
4.字符編碼
計(jì)算機(jī)在存儲(chǔ)數(shù)據(jù)的時(shí)候籽腕,只能存儲(chǔ)數(shù)字?jǐn)?shù)據(jù),而且存的是數(shù)字的二進(jìn)制補(bǔ)碼
十進(jìn)制存二進(jìn)制:10 --> 轉(zhuǎn)換成二進(jìn)制 --> 求補(bǔ)碼 --> 存儲(chǔ)
字符的編碼就是為了將字符存儲(chǔ)到計(jì)算機(jī)中纸俭,給每個(gè)字符對(duì)應(yīng)的一個(gè)固定的數(shù)字皇耗。這個(gè)數(shù)字就是這個(gè)字符的編碼。
目前計(jì)算機(jī)采用的編碼方式有兩種揍很,分別是ASCII碼表和Unicode碼表郎楼。python中采用的是Unicode碼表。
ASCII碼:采用一個(gè)字節(jié)對(duì)字符進(jìn)行編碼(共有128個(gè)字符)
Unicode碼:包含ASCII碼窒悔,采用兩個(gè)字節(jié)對(duì)字符進(jìn)行編碼呜袁,包含了世界上所有的語(yǔ)言和符號(hào),又稱(chēng)萬(wàn)國(guó)語(yǔ)简珠。
小寫(xiě)字母的編碼范圍:(az):87122
大寫(xiě)字母的編碼范圍:(AZ):6990
中文的編碼范圍:0x4e00~ox9fa5
字符編碼相關(guān)的函數(shù):
chr()編碼值 -----獲取編碼對(duì)應(yīng)的字符
例如:
print(chr(0xa00f))
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3阶界、運(yùn)算符和字符串 12..26/03、字符串 12.26.py"
?
Process finished with exit code 0
ord(字符) -----獲取字符的編碼(以十進(jìn)制的形式返回)
例如:
print(ord('絕'), ord('世')) # 只能是單個(gè)字符
運(yùn)行結(jié)果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3聋庵、運(yùn)算符和字符串 12..26/03荐操、字符串 12.26.py"
32477 19990
Process finished with exit code 0