Day3 運(yùn)算符髓抑、數(shù)字類型咙崎、字符串

一、運(yùn)算符

python 支持:數(shù)學(xué)運(yùn)算符吨拍、比較運(yùn)算符叙凡、邏輯運(yùn)算符、賦值運(yùn)算符密末、(位運(yùn)算符)

1.數(shù)學(xué)運(yùn)算符:

"+ "(加)握爷,"-"(減) 跛璧," * "(乘), /(除)新啼,//(整除)追城,%(取余), " ** "(冪運(yùn)算),

a. 其中 + 、-燥撞、*座柱、/ 和數(shù)學(xué)中的加減乘除一模一樣

print(10 + 20)
print(12.6 + 5)
print(100 - 110)
print(2 * 3)
print(5 / 2)

b. // (整除),數(shù)字1 //數(shù)字2 --> 數(shù)字1除以 數(shù)字2,結(jié)果只取整數(shù)部分

print(5 // 2)   # 2
print(6.3 // 3)  # 2.0
  • 練習(xí)物舒,獲取234中百位上的數(shù) 2
    print(234 // 100)

c. 取余:求余數(shù)

print(5 % 2)   # 求五除以二的余數(shù)
print(10 % 4)
  • 應(yīng)用一:獲取一個數(shù)的個位數(shù)
    print(234 % 10) # 4
  • 應(yīng)用二:判斷一個數(shù)的奇偶性色洞,讓這個對2取余,然后看結(jié)果是0(偶數(shù))還是1(奇數(shù))

d. **(冪運(yùn)算)冠胯,x ** y --->運(yùn)算符的 x 的 y 次方

print(2 ** 3)
print(10 ** 4)
print(16 ** 0.5)    # x ** 0.5 == x ** (1/2)==x開平方
print(8 ** (1/3))
age = 18
print(age + 10)   # 注意 :運(yùn)算符的運(yùn)算對象不一定非是數(shù)據(jù)火诸,也可以是存數(shù)據(jù)的變量

2. 比較運(yùn)算符

比較運(yùn)算符:>, < ,==, !=,>= ,<=

  • 所有的比較運(yùn)算符的結(jié)果都是布爾值
print(10 > 20)
print(10 < 20)
print(10 == 20)
print(10 == 10)
print(10 != 10)
print(10 >= 10)
print(10 <= 20)
age = 18
print(age >= 18)
  • 補(bǔ)充:is的使用
    變量三要素:類型(變量中存儲的數(shù)據(jù)的類型)荠察,值(變量中存儲的數(shù)據(jù))置蜀,地址(變量中真正存儲的內(nèi)容:數(shù)據(jù)的地址)
    類型- type(變量)
    - 直接使用變量,就是使用值
    地址 - id(變量)
num = 100
print(type(num), num, id(num))

運(yùn)行效果:


運(yùn)行效果

==判定的是值是否相等悉盆,is判定的地址是否相等

list1 = [1, 2]
list2 = [1, 2]
list3 = list1
print(list1, list2)
print(id(list1), id(list2))
print(list == list, list1 is list2)
print(list1 == list3, list1 is list3)

運(yùn)行效果:


運(yùn)行效果
  • 用變量賦值另一個變量時盯荤,是將變量中存儲的數(shù)據(jù)地址賦給另一個變量。
  • 特殊情況:數(shù)字和字符串焕盟,只要用過就不會重復(fù)開辟空間存放秋秤,因此地址一致,故滿足is
num1 = 100
num2 = 100
print(id(num1), id(num2))

運(yùn)行效果:


運(yùn)行效果

3. 邏輯運(yùn)算符:

a. and(邏輯與運(yùn)算), or(邏輯或運(yùn)算), not(邏輯非運(yùn)算)

  • 邏輯運(yùn)算符的運(yùn)算對象和運(yùn)算結(jié)果返回值都是布爾值脚翘。
  • 值1 and 值2 只有兩個都為true,返回結(jié)果才為true,否則就是false,相當(dāng)于生活邏輯中的“并且”
    true and true -> true
    true and false -> false
    false and false -> false
    false and true -> true
  • 當(dāng)要求多個條件同時滿足時灼卢,就使用邏輯與運(yùn)算。
  • 短路操作:第一個條件是False堰怨,就不會去判斷第二個條件,直接讓整個或運(yùn)算的結(jié)果是False

練習(xí):如果考試成績大于90分和平時表現(xiàn)成績大于等于95分就能獲得獎學(xué)金

grade = 90
score = 95
print("是否能拿獎學(xué)金", grade > 90 and score >= 95)

運(yùn)行效果:


運(yùn)行效果

b.值1 or 值2 ->只有兩個都是false才為false,否則就是true,相當(dāng)于生活邏輯中的“或者”

true or true -> true
true or false -> true
false or false -> false
false or true -> true

  • 應(yīng)用:要求多個條件只要有一個滿足,就使用邏輯或運(yùn)算:
  • 短路操作:第一個條件是true蛇摸,就不會去判斷第二個條件,直接讓整個或運(yùn)算的結(jié)果是True

練習(xí):如果考試低于60分备图,或者上課不聽講就降班

grade = 70
is_not_in_class = False   # True代表不在班級,F(xiàn)alse代表在班級
print('是否降班:', grade < 60 or is_not_in_class)

運(yùn)行效果:


運(yùn)行效果

c. 邏輯非運(yùn)算:not 值1->運(yùn)算對象和結(jié)果都是布爾值赶袄,對結(jié)果進(jìn)行否定揽涮,或者取反。

not True -> False
not False -> True
練習(xí):年齡不小于十歲

age = 20
print(not age < 10)

d.賦值運(yùn)算符:

=饿肺, +=蒋困, -=, *=敬辣, /=, //=, %=, **=
所有的賦值運(yùn)算符要求賦值符號的左邊必須是變量雪标,右邊必須是有結(jié)果的零院。

  • a. 變量 = 結(jié)果 --> 將結(jié)果賦值給變量
num1 = 100
num2 = num1   # 變量賦值給變量,賦的是變量中存儲的地址
  • b.+=村刨, -=告抄, *=, /=, //=, %=, **=
    復(fù)合賦值運(yùn)算符要求賦值符號的左邊除了是變量以為嵌牺,還藥物這個變量已經(jīng)賦過值打洼。
    變量 += 數(shù)字 --> 變量 = 變量 +數(shù)字(將變量原來的值加上指定的數(shù)字以后將新值再重新賦值給變量)
num3 = 3
num3 += 10   # num3 = num3 +10 = 3 + 10
print(num3)   # 13

num3 -= 3   # num3 = num3 - 3 = 13 - 3
print(num3)  # 10

4. 復(fù)合運(yùn)算:運(yùn)算符的優(yōu)先級

數(shù)學(xué)運(yùn)算符 > 比較運(yùn)算符 > 邏輯運(yùn)算符 > 賦值運(yùn)算符,
優(yōu)先級高的先算,優(yōu)先級低的后算逆粹,但如果有(),先算()里面的
數(shù)學(xué)運(yùn)算符中: ** > * / % // > + -
練習(xí):
print(19 + 20 > 6**2 + 4 or 10 + 3 < 3 * 3)
布爾值True == 1 ,False == 0,可參與運(yùn)算.

二募疮、 數(shù)字類型

python的數(shù)字類型:int bool complex float

1.整型(int):包含所有的整數(shù),支持十進(jìn)制僻弹,二進(jìn)制阿浓,八進(jìn)制和十六進(jìn)制。

num4 = 23
num = 0b100011  # 0b + 二進(jìn)制數(shù)
num5 = 0o7654321  # 0o + 八進(jìn)制數(shù)
num6 = 0xaf9456   # 0x +十六進(jìn)制數(shù)
print(num4,num5,num6,num)

運(yùn)行效果:


運(yùn)行效果
print('十進(jìn)制',123)
print('二進(jìn)制',bin(123))
print('八進(jìn)制',oct(123))
print('十六進(jìn)制',hex(123))
print(0b0111)
print(0b0111 + 2)

運(yùn)行效果:


運(yùn)行效果

2.浮點(diǎn)型: float 包含所有的小數(shù)奢方,支持科學(xué)計(jì)數(shù)法搔扁。

num7 = 12.5
num2 = 3e2  # 代表3乘以10的二次方
print(num2)
num3 = 1.25e2
print(num3)
運(yùn)行效果

3.布爾(bool):

值只有True和False兩種,True == 1, False == 0.True還是表示真蟋字,肯定稿蹲,F(xiàn)lase還是表示假,否定鹊奖。

sun = True + 10
print(sun)
print(True == 1, False == 0)

運(yùn)行效果:


運(yùn)行效果

3.復(fù)數(shù)(complex):

實(shí)部 + 虛部j,j前面必須有數(shù)字苛聘,不能省略。

三忠聚、字符串

1.字符串

通過''或者“”括起來的字符集(文本)就是字符串设哗。
str1 = '123'
str2 = 'abc123'

2.字符串類型(str)

str是python自己提供的一種容器型數(shù)據(jù)類型,一個字符串中可以保存多個字符两蟀。
字符:python中只有字符的概念沒有字符類型网梢,
如果在puthon中要表示一個字符,用長度為1的字符串來表示赂毯。
字符串不可變但有序:不可變指的是字符的值和字符串的長度不可變战虏,
有序指的是在一個字符串中,每個字符在字符串中的位置是確定的党涕。
字符串"abc"和"bac"是不一樣的

3.字符串中的字符:

  • a.普通字符:
    包含一般的字母烦感,數(shù)字,符號膛堤,和其他文字手趣。例如:'a','G','1','0','+','^','?','好'
    b.轉(zhuǎn)義字符:通過在一些特定的字符前加,來表示特殊的功能或意義,這樣的字符就是轉(zhuǎn)義字符肥荔。
    \n - 換行
    ' - 表示一個單引號
    " - 表示一個雙引號
    \ - 表示一個反斜杠
    \t - 表示一個Tab鍵
    注意:沒有組織轉(zhuǎn)義的時候绿渣,一個轉(zhuǎn)義字符的長度是一朝群。
    可以在字符串的前面加r/R,來阻止轉(zhuǎn)義(阻止字符串中所有的字符轉(zhuǎn)義)怯晕。
data = 100
data1 = '100'
data2 = 'agj好123'
str4 = '23\n45'
str5 = '123\'we'
str6 = "123\"w'qw"
str7 = "\\hello \\npython"
str8 = "\terer"
str9 = R"\t姓名:小白\n\t年齡:18"
str10 = "啊哈潜圃,你,需要我的幫助\u4E00\u9FA5"
print(str4)
print(str5)
print(str6)
print(str7)
print(str8)
print(str9)
print(str10)

運(yùn)行效果:


運(yùn)行效果

3.編碼字符

  • 在字符串中以"\u1234" +四位十六進(jìn)制編碼值舟茶;例如"\u1234"

4.字符編碼:

  • 計(jì)算機(jī)在存儲數(shù)據(jù)時只能存數(shù)字?jǐn)?shù)據(jù)谭期,而且存的是數(shù)字的二進(jìn)制補(bǔ)碼
    10 --> 轉(zhuǎn)換成二進(jìn)制 --> 存補(bǔ)碼(求)
  • 字符的編碼就是為了將字符存儲到計(jì)算機(jī)中,給每個字符對應(yīng)的一個固定數(shù)字吧凉,這個數(shù)字就是這個字符的編碼隧出。
  • 目前計(jì)算機(jī)采用的編碼方式有兩種,分別是ASCII碼表和Unicode碼表阀捅。
  • Python中采用的是Unicode編碼胀瞪,實(shí)際上Unicode碼表就是對ASCII碼表(就128個字符)的擴(kuò)充。
  • ASCII碼是采用一個字節(jié)對字符進(jìn)行編碼饲鄙。
  • Unicode碼包含ASCII碼凄诞,采用兩個字節(jié)對字符進(jìn)行編碼,包含了世界上所有的語言和符號忍级,又稱萬國碼帆谍。
  • 小寫字母的編碼范圍為a-z(97-122),大寫字母編碼范圍為A-Z(65-90)
  • 中文的編碼范圍:(0x4E00-0x9FA5)
  • 字符編碼相關(guān)函數(shù):
    a.chr(編碼值) - 獲取編碼對應(yīng)字符轴咱。
    b.ord)(字符)- =獲取字符的編碼值(以十進(jìn)制形式返回)
    a -> 97
print(chr(0x0180))
print(hex(ord('俞')),hex(ord('雷')))

運(yùn)行效果:


運(yùn)行效果

課后作業(yè)

  1. 下面定義變量正確的是( a d)
    a. a = b = c = 10
    b. a,c = 10
    c. in = 20
    d. num = 10; t = 20

  2. n = 6784汛蝙,以下能夠獲取到7 的方法有( c d )
    a. n / 1000 % 100
    b. n % 1000 / 100
    c. n // 100 % 10
    d. n // 10 % 100 // 10

9.以下表達(dá)式 10 / 4 + 23 // 4 * 2 - 30的計(jì)算結(jié)果是:2.5+10-30= -17.5。

#寫代碼獲取輸入數(shù)字12345中的每一位上的數(shù)字
num1 = 12345
print('第一位數(shù):',num1 // 10000)
print('第二位數(shù):',num1 % 10000 // 1000)
print('第三位數(shù):',num1 % 1000 // 100)
print('第四位數(shù):',num1 % 100 // 10)
print('第五位數(shù):',num1 % 10)
#寫出判斷一個數(shù)是否能同時被3和7整除的條件語句
num2 = 21
print(num2 % 3 == 0 and num2 % 7 == 0)
#寫出判斷一個數(shù)是否能夠被3或者7整除朴肺,但是不能同時被3和7整除的表達(dá)式
num3 = 21
print((num3 % 3 == 0 or num3 % 7 ==0 ) and (not num3 % 3 ==0 and num3 % 7 == 0))
# 今天上課講了1500秒的課窖剑,編程計(jì)算今天上課時間是多少小時,多少分鐘戈稿,多少秒
tim = 1500
print(tim // (60**2),'小時')
print(tim % (60 ** 2) // 60,'分鐘')
print(tim % (60 ** 2) % 60,'秒')
"""
定義兩個變量保存一個人的身高和體重西土,編程實(shí)現(xiàn)判斷這個人的身材是否完美!
        公式:體重(kg)除以身高(m)的平方的值在18.5~24.9之間屬于正常(輸出True)
"""
height = 1.76
body_weight = 70
print(18.5 <= body_weight / height ** 2 <= 24.9)

運(yùn)行結(jié)果:


運(yùn)行結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鞍盗,一起剝皮案震驚了整個濱河市需了,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌橡疼,老刑警劉巖援所,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件庐舟,死亡現(xiàn)場離奇詭異欣除,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)挪略,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門历帚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滔岳,“玉大人,你說我怎么就攤上這事挽牢∑酌海” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵禽拔,是天一觀的道長刘离。 經(jīng)常有香客問我,道長睹栖,這世上最難降的妖魔是什么硫惕? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮野来,結(jié)果婚禮上恼除,老公的妹妹穿的比我還像新娘。我一直安慰自己曼氛,他們只是感情好豁辉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舀患,像睡著了一般徽级。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上构舟,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天灰追,我揣著相機(jī)與錄音,去河邊找鬼狗超。 笑死弹澎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的努咐。 我是一名探鬼主播苦蒿,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼渗稍!你這毒婦竟也來了佩迟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤竿屹,失蹤者是張志新(化名)和其女友劉穎报强,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拱燃,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秉溉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片召嘶。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡父晶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出弄跌,到底是詐尸還是另有隱情甲喝,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布铛只,位于F島的核電站埠胖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏淳玩。R本人自食惡果不足惜押袍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凯肋。 院中可真熱鬧谊惭,春花似錦、人聲如沸侮东。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悄雅。三九已至驱敲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宽闲,已是汗流浹背众眨。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留容诬,地道東北人娩梨。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像览徒,于是被迫代替她去往敵國和親狈定。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

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