2 變數資料型別和運算子(python)

2021-10-07 13:59:40 字數 4737 閱讀 1341

2. 運算子和表示式

2.2 賦值運算子

2.3 關係運算

2.4 邏輯運算

2.5 身份運算子

2.6 成員運算子

2.7 if-else表示式

不同型別的變數可以進行的運算是不同的,所以必須理解變數的型別,python中資料型別可以分為:

自定義型別

複數(complex):表示數學上的無理數,形如:a+bj

布林型(bool):表示事務的兩種狀態,男女、陰晴、亮暗等,它只有兩個值:true,false

none:表示空物件,一般用於判斷,不同於0和空字元

字串(str):在python中,用引號(單引號、雙引號、三引號)表示字串

我們可以使用type和isinstance來測試和判斷資料型別

#type用法:

type

(obj)

功能:返回obj的資料型別

引數:obj是你要測試變數或數值

示例:age =

10 name =

'hello'

print

(type

(name)

,type

(age)

)#判斷變數是否是指定型別

iftype

(age)

isint

:print

('是'

)else

:print

('否'

)#isinstance用法:

isinstance

(obj,typename)

功能:判斷obj是否是指定型別,是返回true

,否返回false

引數: objobj是你要判斷的變數或數值

typename是指定資料型別,可以是int

,float

,str等。也可是乙個

型別的元組,例如:

(int

,float

) 示例:

age =

10 name =

'hello'

print

(isinstance

(age,

int)

)print

(isinstance

(name,

(str

,int))

#只要name是str或int的一種就返回true

ifisinstance

(age,

int)

:print

('是'

)else

:print

('否'

)#type和isinstance的區別

type判斷基本型別是沒問題的,但無法判斷子類物件是父類的一種

isinstance可以判斷子類物件是父類的一種

classa:

pass

class

b(a)

:pass

obja = a(

)objb = b(

)#輸出否

iftype

(objb)

is a:

print

('是'

)else

:print

('否'

)print

(isinstance

(objb,a)

)#true

結論:優先使用isinstance

在數學上為了計算結果,我們會寫一些式子計算,例如:

​ 30 + 5

這是數學中的計算式,python中為了計算也有類似的式子,叫表示式。在表示式中30和5稱作運算元,+稱之運算子。表示式的目的在於計算結果。表示式構成:

綜合上述,所謂表示式就是由運算元和運算子組成䄦符合python語法的式子。要寫表示式首先要學習運算子。關於運算子要知道兩件事情

a = 20

b = 10

運算子說明示例-

負號,取原數的相反數

a = 10 print(-a) #-10

+ - * /

加減乘除,同數學上一樣

a + b = 30 a - b = 10 a * b = 200 a / b = 2

%模運算,即求 a整除以b的餘數

a % 10 = 0

//整除

a // b = 2

**對運算子進行指數(冪)計算

a ** b 表示20的10次方

模運算說明

數學函式

函式名函式的說明

示例abs

取絕對值

abs(-10)

pow(x,y)

x的y次方

pow(10,2)求10的平方

round(x,[n])

浮點數的4舍5入, n代表保留小數的位數

round(3.456)

max()

求給定引數的最大值

max(21,43,65,75,86,32,3,45)

min()

求給定引數的最小值

min(21,43,65,75,86,32,3,45)

math.ceil()

需要匯入import math庫 向上取整

math.ceil(18.1) #19

math.floor()

需要匯入import math庫 向下取整

math.floor(18.1) #18

math.sqrt

需要匯入import math庫 求平方根

math.sqrt(100)

python3.5.2中文幫助文件

隨機函式

獲取隨機數,需要引入random庫。

import random

函式名函式說明

random.randrange(start,stop,step)

start 指定範圍的起始值 包含本身,預設是0;stop 指定範圍的結束值 不包含本身; step 步長,預設步長是1。該函式返回乙個整數

random.randint(start,end)

返回[start end]之間的乙個隨機整數,start必須小於end

random.random()

返回乙個[0.0,1.0)之間的隨機小數

注意a = 5; b = 10; c = 20

運算子說明示例=

簡單賦值, 將b+c的結果賦給a

a = b +c #a=30

+=a += b等價於 a = a +b

a = 15

-=a -= b等價於 a = a - b

a = -5

*=a *= b等價於 a = a * b

a = 50

/=a /= b 等價於a = a / b

a = 0.5

%=a %= b等價於a = a % b

a = 5

//=a //= b等價於 a = a // b

a = 0

**=a **= b等價於a = a ** b

注意:

a =

2b =

3a *= b +

2#等價於 a = a * (b + 2)

print

(a)# a = 10

關係運算就是比較運算,如果表示式成立,返回true,否則返回false。關係運算的結果是布林值。

運算子示例

說明==

a == b

a和b值相等,結果是true,a和b值不相等結果為false

!=a != b

a不等於b 結果為true,否則結果為true

>

a > b

a大於b結果為true,否則為false

>=

a >= b

a大於等於b結果為true,否則為false

<

a < b

a小於b結果為true,否則為false

<=

a <= b

a小於等於b結果為true,否則為false

注意:邏輯運算子可以用於構造複雜條件。邏輯運算子包括:

在邏輯運算中,false、none、0、0.0、『』(空字串)被看做假(false),其它的看做真(true)

2.4.1 邏輯與ab

a and b

真任意值

b的值假

任意值a的值

2.4.2 邏輯或ab

a or b

真任意值

a的值假

任意值b的值

2.4.3 邏輯非

anot a

真false

假true

小結:a為真則表示式為false,否則表示式為true

2.4 短路計算

2.4.5 注意事項is: 判斷兩個識別符號是否引用自同乙個實體【物件】,比較的是兩個物件的id是否一樣,如果相同為真,否則為假

is not:判斷兩個識別符號是不是引用自不同的實體【物件】如果兩個物件的id不同結果為真,否則為假

id()函式獲取實體的id(位址)

注意:is和==的區別

主要應用在序列中

in:如果在指定的序列中找到指定的值,則返回true,否則返回false

not in:如果在指定的序列中未找到指定的值,則返回true,否則返回false

表示式1 if 條件 else 表示式2

如果條件為真假結果是表示式1的值,否則結果是表示式2的值

變數,資料型別和運算子

package sb public class fenshu view code package sb public class 第二次平均分 view code package sb public class 變數 view code 1.變數 變數 乙個資料儲存空間表示 代詞 2.變數的基本語法...

變數 資料型別 運算子

一 變數 1 概念 值可以變化的量 2 變數的基本組成 變數名 變數值 3 變數名 不能是關鍵字 關鍵字是有特殊含義的單詞,如var 4 變數的定義 var 變數名 5 變數的賦值 變數名 變數值 6 變數不能以數字開頭,可以用字母數字下劃線進行使用 二 常量 1 常量是變數的一種,但是常量的值一旦...

資料型別和運算子 運算子

objective c 支援所有的基本算術運算子 除法運算子。除法運算子有些特殊,如果除法運算子的兩個運算元都是整數型別,則計算結果也是整數,就是將自然 數除法的結果斷取整。求餘運算子。它要求運算子兩邊的運算元必須是整數,他的計算結果是使用第乙個運算元來除以第二個運算元,得到 乙個整除的結果後,剩下...