2018-12-26

一 、運(yùn)算符

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

1. 數(shù)學(xué)運(yùn)算符:(加)+, (減)-, *(乘),/(除), //(整除), %(取余), **(冪運(yùn)算)

其中+ - * / 和數(shù)學(xué)中的加減乘除一樣

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

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

print(5 // 2) # 2

print(6.3 // 3) # 2.0

練習(xí),獲取數(shù)字234中的百位上的數(shù) 2

print(234 // 100)

c. %(取余),求余數(shù)

print(5 % 2) # 求5除以2的余數(shù)
print(10 % 4)

應(yīng)用一: 獲取一個(gè)數(shù)的個(gè)位數(shù)

print(234 % 10) # 4

應(yīng)用二: 判斷一個(gè)數(shù)的奇偶性,讓這個(gè)數(shù)對(duì)2取余數(shù),看見結(jié)果是0(偶數(shù))還是1(奇數(shù))

print(20 % 2, 23 % 2 )

d. (冪運(yùn)算),xy--> 求x的y次方

print(2**3)
print(10 4)
print(16 ** 0.5) # 開方 x
0.5 ==x 開平方
print(8 **(1/3)) # 8開立方

age = 18
print(age + 10) # 注意,運(yùn)算符的對(duì)象不一定非得是數(shù)據(jù),也可以是存數(shù)據(jù)的變量

2. 比較運(yùn)算符:>, <, ==, !=(不等于) ,>= ,<=

所有的比較運(yùn)算符的結(jié)果都是布爾值

print(10 > 20) # False
print(10 < 20) # True
print(10 == 20) # False
print(10 == 10) # True
print(10 != 20) # True
print(10 != 10) # False
print(10 >= 20) # False
print(20 >= 20) # True

age = 18
print('是否成年:',age >= 18)

補(bǔ)充:is的使用

"""
一個(gè)變量有三個(gè)要素:分別是:類型(變量存儲(chǔ)的數(shù)據(jù)類型)、值(變量存儲(chǔ)的數(shù)據(jù))、地址(變量真正存儲(chǔ)的內(nèi)容,數(shù)據(jù)的地址)
類型 - type (變量)
值 - 直接使用變量,就是使用值()
地址 - id(變量)

== 和 is 的區(qū)別
==: 判斷值是否相等
is 判斷的是地址是否相等
"""
num = 100
print(type(num), num, id(num) )

list1 = [1, 2]
list2 = [1, 2]
list3 = list1 #用一個(gè)變量給另一個(gè)變量賦值的時(shí)候,是將變量中存儲(chǔ)的數(shù)據(jù)地址賦給另外一個(gè)變量
print(list1, list2)
print(id(list1),id(list2))
print(list1 == list2, list1 is list2)
print(list1 == list3, list1 is list3)

num1 = 100
num2 = 100
print(id(num1), id(num2))

str1 = 'abc'
str2 = 'abc'
print(id(str1),id(str2))

數(shù)字和字符串比較特殊,地址一樣

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

邏輯運(yùn)算符的運(yùn)算對(duì)象和運(yùn)算結(jié)果都是布爾值

值1 and 值2 --> 如果兩個(gè)都是True結(jié)果就是True,否則就是False;相當(dāng)于生活邏輯中的"并且"

"""
True and True -> True
False and True -> False
True and False -> False
False and False -> False
"""

應(yīng)用: 要求多個(gè)條件同時(shí)滿足的時(shí)候,就使用邏輯與運(yùn)算

短路操作:如果第一個(gè)條件是False,就不會(huì)判斷第二個(gè)條件,直接讓整個(gè)結(jié)果是False

練習(xí): 能拿獎(jiǎng)學(xué)金的條件是成績(jī)必須是90分且測(cè)評(píng)分不能低于95

grade = 91
score = 95
print('是否能拿獎(jiǎng)學(xué)金:',grade > 90 and score >=95 )

b. 值1 or 值2 -- .> 兩個(gè)都是False才是False,否則結(jié)果都是true,相當(dāng)于生活邏輯中的或者

"""
True or true -> true
false or true -> true
true or false -> true
false or false -> false
"""

應(yīng)用: 要求多個(gè)條件只要有一個(gè)條件滿足,就是使用邏輯或運(yùn)算

短路操作:如果第一個(gè)條件是True,就不會(huì)去判斷第二個(gè)條件,直接讓整個(gè)運(yùn)算的結(jié)果是True

練習(xí):如果考試成績(jī)低于60分,或者上課不聽講就是降班

grade = 70
is_not_in_class = True # True 代表在不班級(jí),否則在
print('是否降班:', grade< 60 or is_not_in_class)

c. not 值1 --> 對(duì)值1進(jìn)行否定/取反

"""
not True --> False
not False --> True
"""

應(yīng)用:否定某個(gè)條件

年紀(jì)不小于10歲

age = 20
print(not age< 10 )

4. 賦值運(yùn)算符:=, +=, —=, /=,//=, **=

所有的運(yùn)算符,要求賦值符號(hào)的左邊必須是變量;右邊必須是有結(jié)果的(是指)

a. 變量 = 結(jié)果 ---> 將結(jié)果賦給變量

num =100
num2 = num # 變量給變量賦值,賦的是變量的地址

b . =, +=, —=, /=,//=, **=

復(fù)合賦值運(yùn)算符要求賦值符號(hào)的左邊除了是變量以外,還要求這個(gè)變量已經(jīng)被賦過值

變量 += 數(shù)字 ---> 變量 = 變量 + 數(shù)字(將變量的值加上指定的數(shù)字以后的新值在重新賦給變量)

num3 = 2
num3 += 10 # num = num3 +10
print(num3)

num3 -= 3 # num3 = num3 - 3 =12 - 3
print(num3) # 9

5 運(yùn)算符的優(yōu)先級(jí)

數(shù)學(xué)運(yùn)算符> 比較運(yùn)算符 > 邏輯運(yùn)算符 > 賦值運(yùn)算符

數(shù)學(xué)運(yùn)算符中:**> *, /, %,// > +, -

優(yōu)先級(jí)高的先算,優(yōu)先級(jí)低的后算。如果有(),先算()里面的

練習(xí)

布爾中的True == 1 ,F(xiàn)alse == 0

print(19 + 20 > 6**2 +4 or 10 + 3 < 3 * 3) # False

19 + 20 > 36 + 4 or 10 + 3 < 9

39 > 40 or 13 < 9

False or False

False

二、

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

1. 整形(int):包含所有的整數(shù),支持二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制

num0 = 123 # 十進(jìn)制直接寫十進(jìn)制數(shù)字
num1 = 0b110101 # 二進(jìn)制:0b + 二進(jìn)制數(shù)
num2 = 0o127 # 八進(jìn)制:0o + 八進(jìn)制數(shù)
num3 = 0x89af # 十六進(jìn)制:0x + 十六進(jìn)制數(shù)
print(num0, num1, num2, num3 ) # 打印的是這個(gè)數(shù)的十進(jìn)制
print('十進(jìn)制:', 123)
print('二進(jìn)制:', bin(123))
print('八進(jìn)制:', oct(123))
print('十六進(jìn)制:',hex(123))
print(0b1111011 + 2)

以上不適合小數(shù)(浮點(diǎn)數(shù))

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

num1 = 12.5
num2 = 3e2 # 代表 3乘以10 的2次方
print(num2)
num3 = 1.25e2
print(num3)

3. 布爾(bool): 值只要True == 1 和False == 0

num1 = True + 10
print( num1, True == 1)

"""

  1. 復(fù)數(shù)(complex):實(shí)部 + 虛部j;注意:j 前面必須有數(shù)字,不能省略
    """

三、

"""

  1. 認(rèn)識(shí)字符串(str)
    通過單引號(hào)或者雙引號(hào)括起來的字符集(文本)就是字符串
    str1 = 'abc'
    str2 = 'abc123'
    """

2. 字符串類型(str)

str是Python 自己提供的一種容器型的數(shù)據(jù)類型,一個(gè)字符串中可以存儲(chǔ)多個(gè)字符

什么是字符:pyhton 只有字符的概念,沒有字符的類型,如果在python中藥表示一個(gè)字符,

用一個(gè)長(zhǎng)度是1的字符串來表示

num = 100

字符串不可變,但是有序,不可變指的是字符的值和字符串的長(zhǎng)度不可變,有序指的是每個(gè)字符在字符串中的位置是確定的

字符串"abc和字符串"bac是不一樣的

3 . 字符串中的字符

a. 普通字符:包含一般的字母、數(shù)字、符號(hào)、文字、其他文字,例如"a, 'G, "1, '+ ."叫

data = 100
data = '100'
str3 = "skhfk號(hào)"

b. 轉(zhuǎn)義字符: 通過在特定的字母前面加/,來表示特殊功能或者意義,這樣的字符就是轉(zhuǎn)義字符。

str4 = 'abc\n123' # \n -- 換行
print(str4)
str5 = '\thelo'A' # '---表示一個(gè)單引號(hào)
print(str5)
str6 = "hello'A"
print(str6) # " ---表示一個(gè)雙引號(hào)
str7 = '\ahello\npyhton'
print(str7) # \ ---表示一個(gè)反斜杠

\n -- 換行

' -- 表示一個(gè)單引號(hào)

" -- 表示一個(gè)雙引號(hào)

\ -- 表示一個(gè)反斜杠

\t -- 表示一個(gè)tab鍵

以上統(tǒng)稱轉(zhuǎn)義字符,適合所有語言

注意:1沒有阻止轉(zhuǎn)義的時(shí)候,一個(gè)轉(zhuǎn)義字符的長(zhǎng)度是1 例如 \t 長(zhǎng)度是1

2可以在字符串的最前面加r/R,來阻止轉(zhuǎn)義。(阻止字符串中所有的轉(zhuǎn)義字符轉(zhuǎn)義)

阻止轉(zhuǎn)義

str8 = r'\t姓名:小白\n\t年齡:18'
print(str8)

c. 編碼字符: 在字符串中用'\u' + 四位十六進(jìn)制編碼值表示一個(gè)字符

'\u1234', 這兒的1234是十六進(jìn)制的

str9 = '你好\u4e00\uaaaa'
print(str9)

4 字符編碼

計(jì)算機(jī)在存儲(chǔ)數(shù)據(jù)的時(shí)候只能數(shù)字?jǐn)?shù)據(jù),而且存是數(shù)字的二進(jìn)制補(bǔ)碼

10 -> 轉(zhuǎn)換成二進(jìn)制 -> 求補(bǔ)碼(存)

字符的編碼就是為了將字符存儲(chǔ)到計(jì)算機(jī)中,給每個(gè)字符對(duì)應(yīng)的一個(gè)固定的數(shù)字,這個(gè)數(shù)字就是這個(gè)字符的編碼

目前計(jì)算機(jī)采用的編碼方式有兩種,分別是ascii 碼和unicode 碼表。python 中采用的是unicode編碼

ascii碼是采用一個(gè)字節(jié)對(duì)字符進(jìn)行編碼9總共128個(gè)字符)

unicode 碼包含ascii碼,采用兩個(gè)字節(jié)對(duì)字符進(jìn)行編碼,包含世界上所有的語言和符號(hào),又稱萬國(guó)碼

小寫字母的編碼范圍:(a-z) 97-122

大寫字母的編碼范圍:(A-Z) 65--90

中文編碼范圍: 0x4e00 ~ 0x 9fa5

字符編碼相關(guān)的函數(shù)

a. chr(編碼值) - 獲取編碼對(duì)應(yīng)的字符

b. ord(字符) - 獲取字符的編碼(以十進(jìn)制形式返回)

print(chr(0x4e90))
print(ord('楊'), ord('浩'))

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 6,031評(píng)論 2 16
  • 寫在前面的話 代碼中的# > 表示的是輸出結(jié)果 輸入 使用input()函數(shù) 用法 注意input函數(shù)輸出的均是字...
    FlyingLittlePG閱讀 3,214評(píng)論 0 9
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,333評(píng)論 0 10
  • python學(xué)習(xí)總結(jié) 1.程序中注釋的用法、意義和作用; 2.學(xué)習(xí)Python語言的第一個(gè)簡(jiǎn)單的程序"Hello ...
    Onlyu_8328閱讀 1,572評(píng)論 1 0
  • 總體來說,蝸牛讀書作為一款閱讀類的軟件,書庫的儲(chǔ)量可以基本滿足用戶的閱讀需求,閱讀的功能也比較完整,其特色的書單功...
    叁畈閱讀 1,517評(píng)論 0 5

友情鏈接更多精彩內(nèi)容